-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
173 lines (162 loc) · 7.33 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
version: '3'
volumes:
postgres_data:
driver: local
jenkins_data:
driver: local
keycloak_data:
driver: local
gerrit_data:
driver: local
nexus_data:
driver: local
sonar_data:
driver: local
grafana_data:
driver: local
services:
postgres:
image: postgres:9.6
container_name: postgres
ports:
- 5432:5432
volumes:
- postgres_data:/var/lib/postgresql/data
- ./postgres/keycloak.sql:/docker-entrypoint-initdb.d/keycloak.sql
environment:
POSTGRES_DB: reviewdb
POSTGRES_USER: gerrit
POSTGRES_PASSWORD: gerrit
keycloak:
image: jboss/keycloak:3.4.3.Final
container_name: keycloak
environment:
POSTGRES_PORT_5432_TCP_ADDR: postgres
POSTGRES_PORT_5432_TCP_PORT: 5432
POSTGRES_DATABASE: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
# Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it.
#JDBC_PARAMS: "ssl=true"
ports:
- 8080:8080
depends_on:
- postgres
volumes:
- keycloak_data:/data
jenkins:
image: openshift/jenkins-2-centos7:v4.0
container_name: jenkins
environment:
JENKINS_PASSWORD: admin
INSTALL_PLUGINS: ace-editor:1.0.1,allure-jenkins-plugin:2.26.0,analysis-collector:1.52,analysis-core:1.94,anchore-container-scanner:1.0.17,
antisamy-markup-formatter:1.5,apache-httpcomponents-client-4-api:4.5.3-2.1,authentication-tokens:1.3,blueocean:1.5.0,
blueocean-autofavorite:1.2.0,blueocean-bitbucket-pipeline:1.5.0,blueocean-commons:1.5.0,blueocean-config:1.5.0,blueocean-core-js:1.5.0,
blueocean-dashboard:1.5.0,blueocean-display-url:2.2.0,blueocean-events:1.5.0,blueocean-git-pipeline:1.5.0,blueocean-github-pipeline:1.5.0,
blueocean-i18n:1.5.0,blueocean-jira:1.5.0,blueocean-jwt:1.5.0,blueocean-personalization:1.5.0,blueocean-pipeline-api-impl:1.5.0,
blueocean-pipeline-editor:1.5.0,blueocean-pipeline-scm-api:1.5.0,blueocean-rest:1.5.0,blueocean-rest-impl:1.5.0,blueocean-web:1.5.0,
bouncycastle-api:2.16.2,branch-api:2.0.11,checkstyle:3.50,cloudbees-bitbucket-branch-source:2.2.9,cloudbees-folder:6.1.2,command-launcher:1.2,
conditional-buildstep:1.3.1,config-file-provider:2.16.2,cors-filter:1.1,credentials:2.1.17,credentials-binding:1.15,
dependency-check-jenkins-plugin:2.1.1,display-url-api:2.2.0,docker-commons:1.8,docker-workflow:1.9,durable-task:1.18,
favorite:2.3.1,findbugs:4.72,gerrit-code-review:0.3.2,gerrit-trigger:2.27.5,git:3.9.1,git-client:2.7.0,git-server:1.7,github:1.29.2,
github-api:1.90,github-branch-source:2.3.6,github-organization-folder:1.6,greenballs:1.15,handlebars:1.1,
handy-uri-templates-2-api:2.1.6-1.0,htmlpublisher:1.16,http_request:1.8.22,icon-shim:2.0.3,jackson2-api:2.7.3,
jacoco:2.2.1,javadoc:1.1,jenkins-design-language:1.5.0,jira:2.4.2,job-dsl:1.60,jquery:1.11.2-0,jquery-detached:1.2.1,jsch:0.1.54.1,
junit:1.24,keycloak:2.2.0,kubernetes:1.2,kubernetes-credentials:0.3.0,mailer:1.21,mapdb-api:1.0.1.0,matrix-auth:1.7,matrix-project:1.11,
maven-plugin:2.17,mercurial:2.3,metrics:3.1.2.9,momentjs:1.1,Office-365-Connector:4.5,openshift-client:1.0.12,openshift-login:1.0.8,
openshift-pipeline:1.0.54,openshift-sync:1.0.18,parameterized-trigger:2.35.1,performance:3.13,pipeline-build-step:2.7,pipeline-github-lib:1.0,
pipeline-graph-analysis:1.6,pipeline-input-step:2.8,pipeline-milestone-step:1.3.1,pipeline-model-api:1.2.7,pipeline-model-declarative-agent:1.1.1,
pipeline-model-definition:1.2.7,pipeline-model-extensions:1.2.7,pipeline-rest-api:2.9,pipeline-stage-step:2.2,pipeline-stage-tags-metadata:1.2.7,
pipeline-stage-view:2.4,pipeline-utility-steps:1.5.1,plain-credentials:1.3,pmd:3.50,pubsub-light:1.12,role-strategy:2.7.0,run-condition:0.10,
scm-api:2.2.6,script-security:1.41,sonar:2.7.1,sonar-gerrit:2.3,sse-gateway:1.15,ssh-credentials:1.13,ssh-slaves:1.26,structs:1.10,
subversion:2.10.5,test-results-analyzer:0.3.4,token-macro:2.6,validating-string-parameter:2.3,variant:1.1,workflow-aggregator:2.5,
workflow-api:2.25,workflow-basic-steps:2.3,workflow-cps:2.42,workflow-cps-global-lib:2.9,workflow-durable-task-step:2.19,workflow-job:2.14.1,
workflow-multibranch:2.16,workflow-remote-loader:1.2,workflow-scm-step:2.4,workflow-step-api:2.14,workflow-support:2.18
ports:
- '8081:8080'
- "50000:50000"
volumes:
- jenkins_data:/jenkins
gerrit:
image: openfrontier/gerrit:2.14.8
container_name: gerrit
depends_on:
- postgres
environment:
WEBURL: http://gerrit:8082/
DATABASE_TYPE: postgresql
AUTH_TYPE: DEVELOPMENT_BECOME_ANY_ACCOUNT
# AUTH_TYPE: OAUTH
DB_PORT_5432_TCP_ADDR: postgres
DB_PORT_5432_TCP_PORT: 5432
DB_ENV_POSTGRES_USER: gerrit
DB_ENV_POSTGRES_PASSWORD: gerrit
DB_ENV_POSTGRES_DB: reviewdb
OAUTH_KEYCLOAK_CLIENT_ID: gerrit
OAUTH_KEYCLOAK_CLIENT_SECRET: 2b2ffeae-6d4c-42c8-b068-2311e1822f4a
OAUTH_KEYCLOAK_REALM: ci
OAUTH_KEYCLOAK_ROOT_URL: http://keycloak:8080
GERRIT_INIT_ARGS: --install-plugin=replication
ports:
- 8082:8080
- 29418:29418
volumes:
- gerrit_data:/var/gerrit/review_site
nexus:
image: sonatype/nexus3:3.6.2
container_name: nexus
environment:
NEXUS_CONTEXT: /
ports:
- '8083:8081'
volumes:
- nexus_data:/nexus-data
sonar:
image: sonarqube:7.1
environment:
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
- SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar
ports:
- "9000:9000"
volumes:
- sonar_data:/opt/sonarqube
nginx:
image: nginx:latest
container_name: nginx
ports:
- "8085:80"
grafana:
image: grafana/grafana:5.2.0
container_name: grafana
environment:
GF_AUTH_BASIC_ENABLED: 'true'
GF_USERS_ALLOW_ORG_CREATE: 'true'
GF_SERVER_ROOT_URL: http://grafana:3000
# GF_AUTH_DISABLE_LOGIN_FORM: 'true'
GF_AUTH_GENERIC_OAUTH_ENABLED: 'true'
GF_AUTH_GENERIC_OAUTH_NAME: OAuth
GF_AUTH_GENERIC_OAUTH_ALLOW_SIGN_UP: 'true'
GF_AUTH_GENERIC_OAUTH_CLIENT_ID: grafana-test
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET: b20631b5-aecd-40da-98ca-e35c9d48e92b
GF_AUTH_GENERIC_OAUTH_AUTH_URL: http://keycloak/auth/realms/CI/protocol/openid-connect/auth
GF_AUTH_GENERIC_OAUTH_TOKEN_URL: http://keycloak/auth/realms/CI/protocol/openid-connect/token
GF_AUTH_GENERIC_OAUTH_API_URL: http://keycloak/auth/realms/CI/protocol/openid-connect/userinfo
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
vault:
image: vault:1.1.3
# image: vault:0.11.0
container_name: vault
cap_add:
- IPC_LOCK
environment:
- VAULT_ADDR=http://127.0.0.1:8200
- VAULT_DEV_ROOT_TOKEN_ID=test
- VAULT_TOKEN=test
ports:
- "8200:8200"