├── .gitmodules
├── .idea
├── builsystem.iml
├── copyright
│ └── profiles_settings.xml
├── misc.xml
├── modules.xml
├── php.xml
├── vcs.xml
└── workspace.xml
├── README.md
├── index.html
├── startup.sh
└── submodules
├── git
├── .startSlave.sh.swp
├── docker-compose.yml
├── jenkins.dockerfile
├── lamp.dockerfile
├── nohup.out
├── php
│ ├── .editorconfig
│ ├── .travis.yml
│ ├── conf
│ │ ├── nginx.conf
│ │ ├── php.ini
│ │ └── supervisord.conf
│ ├── lamp.dockerfile
│ ├── logs
│ │ └── .gitignore
│ ├── sites
│ │ ├── .gitignore
│ │ └── default.vhost
│ └── www
│ │ ├── .gitignore
│ │ └── default
│ │ └── index.php
├── slave.jar
├── startSlave.sh
├── startup.sh
└── webslave
│ └── www
│ └── index.php
├── jenkins-data
└── Dockerfile
└── jenkins-master
└── Dockerfile
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "submodules/git/docker-gitlab"]
2 | path = submodules/git/docker-gitlab
3 | url = https://github.com/sameersbn/docker-gitlab
4 |
--------------------------------------------------------------------------------
/.idea/builsystem.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/php.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/workspace.xml:
--------------------------------------------------------------------------------
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 | true
40 | DEFINITION_ORDER
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 | project
151 |
152 |
153 | true
154 |
155 | bdd
156 |
157 | DIRECTORY
158 |
159 | false
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 | 1473593441771
173 |
174 |
175 | 1473593441771
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Buildsystem enviroment
2 |
3 | ###We want to use a complete applicationstack for a buildsystem enviroments.
4 |
5 | - Feel free to secure, configure, link or mod these base app installations.
6 | - In upcomming tasks we will setup a sample php project including code coverage, dry check, codesniff , phpunit, packaging, releasing and autodeploing.
7 |
8 | ##Following components are used for the different approaches:
9 |
10 |
11 | ## Versioncontrol
12 | - GitLab Community Edition 8.11.4 b871b76
13 | - http://localhost:10080
14 | - you have to set a passowrd for user : root
15 |
16 | ## Buildsystem
17 | - Jenkins 2.0
18 | - http://localhost:8081
19 | - username: admin / admin
20 | - Build your projects, run tests , package them and deploy your application
21 |
22 | ## Artifactmanager
23 | - Sonar Nexus Repository Manager OSS 2.13.0-0:
24 | - http://localhost:8082
25 | - username: admin / admin
26 | - Its the artifactmanager to store releases and 3rdparty libs
27 |
28 | ## LAMP Webslave
29 | - a LAMP Server which acts as a jenkins slave for auto deployments
30 |
31 | # Prerequesits
32 | - Docker running (Linux or Mac or Windows)
33 | - docker compose running
34 |
35 |
36 | # Installation
37 |
38 | ##Just clone the projectrecursiv to get the submodules
39 | - git clone --recursive https://github.com/pboethig/buisystem.git
40 |
41 | and run the startup.sh
42 |
43 | The links to the application are displayed on the console after successfull installation
44 |
45 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Dashboard [Jenkins]Skip to content |  W | Description | % |
---|
 | Build stability: 3 out of the last 5 builds failed. | 40 |
| Testproject |
13 | 5 days 2 hr
14 | - #16 |
15 | 5 days 2 hr
16 | - #15 | 1 sec |  | | |
--------------------------------------------------------------------------------
/startup.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | clear
4 | ###################################################
5 | # gitlab
6 | cd submodules/git/
7 | sh ./startup.sh
8 |
9 |
--------------------------------------------------------------------------------
/submodules/git/.startSlave.sh.swp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pboethig/PhpBuildSystem/cf20827ce5462e59d5fcdcc3520a1ddf6b6db845/submodules/git/.startSlave.sh.swp
--------------------------------------------------------------------------------
/submodules/git/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 |
3 | services:
4 | ##########################################################################
5 | # Jenkins cluster
6 | # Jenkins mounts a predefined data volume container with baseplugins, a slave config for the webserver and a testproject
7 | jenkinsdata:
8 | restart: always
9 | image: mittax/jenkins-data
10 |
11 | jenkins:
12 | restart: always
13 | build:
14 | context: .
15 | dockerfile: jenkins.dockerfile
16 | ports:
17 | - "8081:8080"
18 | volumes_from:
19 | - jenkinsdata
20 |
21 | ##################################################################################
22 | # Selenium hub
23 | hub:
24 | restart: always
25 | image: elgalu/selenium
26 | ports:
27 | - "4444:4444"
28 | # We need a fixed port range to expose VNC
29 | # due to a bug in Docker for Mac beta (1.12)
30 | # https://forums.docker.com/t/docker-for-mac-beta-not-forwarding-ports/8658/6
31 | - "40650-40700:40650-40700"
32 | # e.g. (hard-coded)
33 | # - 40650-40700:40650-40700
34 | environment:
35 | - SELENIUM_HUB_PORT=4444
36 | - PICK_ALL_RANDMON_PORTS=true
37 | - GRID=true
38 | - CHROME=false
39 | - FIREFOX=false
40 |
41 | chrome:
42 | restart: always
43 | image: elgalu/selenium
44 | network_mode: "service:hub"
45 | shm_size: 1g
46 | mem_limit: 2g
47 | memswap_limit: 4g
48 | # 90000 means 90%
49 | # cpu_quota: 90000
50 | environment:
51 | - SELENIUM_HUB_PORT=4444
52 | - VNC_FROM_PORT=40650
53 | - VNC_TO_PORT=40700
54 | - SCREEN_WIDTH=1300
55 | - SCREEN_HEIGHT=999
56 | - PICK_ALL_RANDMON_PORTS=true
57 | - VIDEO=true
58 | - GRID=false
59 | - CHROME=true
60 | - FIREFOX=false
61 |
62 | firefox:
63 | restart: always
64 | image: elgalu/selenium
65 | network_mode: "service:hub"
66 | mem_limit: 2g
67 | memswap_limit: 4g
68 | # 90000 means 90%
69 | # cpu_quota: 90000
70 | environment:
71 | - SELENIUM_HUB_PORT=4444
72 | - VNC_FROM_PORT=40650
73 | - VNC_TO_PORT=40700
74 | - SCREEN_WIDTH=1300
75 | - SCREEN_HEIGHT=999
76 | - PICK_ALL_RANDMON_PORTS=true
77 | - VIDEO=true
78 | - GRID=false
79 | - CHROME=false
80 | - FIREFOX=true
81 |
82 | mock:
83 | restart: always
84 | image: elgalu/google_adwords_mock
85 | network_mode: "service:hub"
86 | tty: true
87 | environment:
88 | - MOCK_SERVER_PORT=8080
89 |
90 | #########################################################################
91 | # Sona Nexus
92 | nexus:
93 | restart: always
94 | image: sonatype/nexus
95 | volumes:
96 | - "nexus-data:/sonatype-work"
97 | ports:
98 | - "8082:8081"
99 |
100 |
101 | ##########################################################################
102 | # LAMP Stack
103 | # Lampstack containes
104 | redis:
105 | restart: always
106 | image: sameersbn/redis:latest
107 | command:
108 | - --loglevel warning
109 | volumes:
110 | - /srv/docker/gitlab/redis:/var/lib/redis:Z
111 |
112 | postgresql:
113 | restart: always
114 | image: sameersbn/postgresql:9.5-1
115 | volumes:
116 | - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
117 | environment:
118 | - DB_USER=gitlab
119 | - DB_PASS=password
120 | - DB_NAME=gitlabhq_production
121 | - DB_EXTENSION=pg_trgm
122 |
123 | webserver:
124 | restart: always
125 | build:
126 | context: .
127 | dockerfile: lamp.dockerfile
128 | ports:
129 | - "8083:80"
130 | - "443:443"
131 | - "9000:9000"
132 | volumes:
133 | - ./www:/var/www
134 | - ./sites:/etc/nginx/conf.d
135 | - ./logs:/var/log/supervisor
136 | mysql:
137 | restart: always
138 | image: mysql
139 | ports:
140 | - "3307:3306"
141 | environment:
142 | MYSQL_ROOT_PASSWORD: password
143 |
144 | mongo:
145 | restart: always
146 | image: mongo
147 | ports:
148 | - "27017:27017"
149 |
150 | memcached:
151 | restart: always
152 | image: memcached
153 | ports:
154 | - "11211:11211"
155 |
156 | redis:
157 | restart: always
158 | image: redis
159 | ports:
160 | - "6379:6379"
161 |
162 | elasticsearch:
163 | restart: always
164 | image: elasticsearch
165 | ports:
166 | - "9200:9200"
167 | - "9300:9300"
168 |
169 | rabbitmq:
170 | restart: always
171 | image: rabbitmq:3.6.1-management
172 | ports:
173 | - "15672:15672"
174 | - "5672:5672"
175 |
176 | ################################################################################
177 | # GITLAB
178 | gitlab:
179 | restart: always
180 | image: sameersbn/gitlab:8.11.5
181 | depends_on:
182 | - redis
183 | - postgresql
184 | ports:
185 | - "10080:80"
186 | - "10022:22"
187 | volumes:
188 | - /srv/docker/gitlab/gitlab:/home/git/data:Z
189 | environment:
190 | - DEBUG=false
191 |
192 | - DB_ADAPTER=postgresql
193 | - DB_HOST=postgresql
194 | - DB_PORT=5432
195 | - DB_USER=gitlab
196 | - DB_PASS=password
197 | - DB_NAME=gitlabhq_production
198 |
199 | - REDIS_HOST=redis
200 | - REDIS_PORT=6379
201 |
202 | - TZ=Asia/Kolkata
203 | - GITLAB_TIMEZONE=Kolkata
204 |
205 | - GITLAB_HTTPS=false
206 | - SSL_SELF_SIGNED=false
207 |
208 | - GITLAB_HOST=localhost
209 | - GITLAB_PORT=10080
210 | - GITLAB_SSH_PORT=10022
211 | - GITLAB_RELATIVE_URL_ROOT=
212 | - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
213 | - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
214 | - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
215 |
216 | - GITLAB_ROOT_PASSWORD=
217 | - GITLAB_ROOT_EMAIL=
218 |
219 | - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
220 | - GITLAB_NOTIFY_PUSHER=false
221 |
222 | - GITLAB_EMAIL=notifications@example.com
223 | - GITLAB_EMAIL_REPLY_TO=noreply@example.com
224 | - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
225 |
226 | - GITLAB_BACKUP_SCHEDULE=daily
227 | - GITLAB_BACKUP_TIME=01:00
228 |
229 | - SMTP_ENABLED=false
230 | - SMTP_DOMAIN=www.example.com
231 | - SMTP_HOST=smtp.gmail.com
232 | - SMTP_PORT=587
233 | - SMTP_USER=mailer@example.com
234 | - SMTP_PASS=password
235 | - SMTP_STARTTLS=true
236 | - SMTP_AUTHENTICATION=login
237 |
238 | - IMAP_ENABLED=false
239 | - IMAP_HOST=imap.gmail.com
240 | - IMAP_PORT=993
241 | - IMAP_USER=mailer@example.com
242 | - IMAP_PASS=password
243 | - IMAP_SSL=true
244 | - IMAP_STARTTLS=false
245 |
246 | - OAUTH_ENABLED=false
247 | - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
248 | - OAUTH_ALLOW_SSO=
249 | - OAUTH_BLOCK_AUTO_CREATED_USERS=true
250 | - OAUTH_AUTO_LINK_LDAP_USER=false
251 | - OAUTH_AUTO_LINK_SAML_USER=false
252 | - OAUTH_EXTERNAL_PROVIDERS=
253 |
254 | - OAUTH_CAS3_LABEL=cas3
255 | - OAUTH_CAS3_SERVER=
256 | - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
257 | - OAUTH_CAS3_LOGIN_URL=/cas/login
258 | - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
259 | - OAUTH_CAS3_LOGOUT_URL=/cas/logout
260 |
261 | - OAUTH_GOOGLE_API_KEY=
262 | - OAUTH_GOOGLE_APP_SECRET=
263 | - OAUTH_GOOGLE_RESTRICT_DOMAIN=
264 |
265 | - OAUTH_FACEBOOK_API_KEY=
266 | - OAUTH_FACEBOOK_APP_SECRET=
267 |
268 | - OAUTH_TWITTER_API_KEY=
269 | - OAUTH_TWITTER_APP_SECRET=
270 |
271 | - OAUTH_GITHUB_API_KEY=
272 | - OAUTH_GITHUB_APP_SECRET=
273 | - OAUTH_GITHUB_URL=
274 | - OAUTH_GITHUB_VERIFY_SSL=
275 |
276 | - OAUTH_GITLAB_API_KEY=
277 | - OAUTH_GITLAB_APP_SECRET=
278 |
279 | - OAUTH_BITBUCKET_API_KEY=
280 | - OAUTH_BITBUCKET_APP_SECRET=
281 |
282 | - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
283 | - OAUTH_SAML_IDP_CERT_FINGERPRINT=
284 | - OAUTH_SAML_IDP_SSO_TARGET_URL=
285 | - OAUTH_SAML_ISSUER=
286 | - OAUTH_SAML_LABEL="Our SAML Provider"
287 | - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
288 | - OAUTH_SAML_GROUPS_ATTRIBUTE=
289 | - OAUTH_SAML_EXTERNAL_GROUPS=
290 | - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
291 | - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
292 | - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
293 | - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
294 |
295 | - OAUTH_CROWD_SERVER_URL=
296 | - OAUTH_CROWD_APP_NAME=
297 | - OAUTH_CROWD_APP_PASSWORD=
298 |
299 | - OAUTH_AUTH0_CLIENT_ID=
300 | - OAUTH_AUTH0_CLIENT_SECRET=
301 | - OAUTH_AUTH0_DOMAIN=
302 |
303 | - OAUTH_AZURE_API_KEY=
304 | - OAUTH_AZURE_API_SECRET=
305 | - OAUTH_AZURE_TENANT_ID=
306 | volumes:
307 | nexus-data: {}
308 |
309 |
310 |
311 |
312 |
--------------------------------------------------------------------------------
/submodules/git/jenkins.dockerfile:
--------------------------------------------------------------------------------
1 | FROM mittax/jenkins
2 |
3 | MAINTAINER Peter Böthig
4 |
5 | ENV JAVA_OPTS="-Xmx8192m"
6 | ENV JENKINS_OPTS="--handlerCountStartup=100 --handlerCountMax=300 --logfile=/var/log/jenkins/jenkins.log"
7 |
--------------------------------------------------------------------------------
/submodules/git/lamp.dockerfile:
--------------------------------------------------------------------------------
1 | FROM mittax/nginx
2 |
3 |
--------------------------------------------------------------------------------
/submodules/git/php/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/submodules/git/php/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: required
2 |
3 | services:
4 | - docker
5 |
6 | env:
7 | DOCKER_COMPOSE_VERSION: 1.5.2
8 |
9 | before_install:
10 | # Install Docker Compose
11 | - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
12 | - chmod +x docker-compose
13 | - sudo mv docker-compose /usr/local/bin
14 |
15 | script:
16 | - docker-compose build
17 |
--------------------------------------------------------------------------------
/submodules/git/php/conf/nginx.conf:
--------------------------------------------------------------------------------
1 | user root;
2 | worker_processes 1;
3 | daemon off;
4 |
5 | error_log /var/log/nginx/error.log warn;
6 | pid /var/run/nginx.pid;
7 |
8 | events {
9 | worker_connections 1024;
10 | }
11 |
12 | http {
13 | include /etc/nginx/mime.types;
14 | default_type application/octet-stream;
15 |
16 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
17 | '$status $body_bytes_sent "$http_referer" '
18 | '"$http_user_agent" "$http_x_forwarded_for"';
19 |
20 | access_log /var/log/nginx/access.log main;
21 |
22 | sendfile on;
23 | tcp_nopush on;
24 |
25 | keepalive_timeout 65;
26 |
27 | gzip on;
28 |
29 | include /etc/nginx/conf.d/*;
30 | }
31 |
--------------------------------------------------------------------------------
/submodules/git/php/conf/php.ini:
--------------------------------------------------------------------------------
1 | ; Enable XDebug
2 | zend_extension = xdebug.so
3 |
4 | ; XDebug configuration
5 | xdebug.remote_enable = 1
6 | xdebug.renite_enable = 1
7 | xdebug.max_nesting_level = 1000
8 | xdebug.profiler_enable_trigger = 1
9 | xdebug.profiler_output_dir = "/var/log"
10 |
11 | ; Show PHP errors
12 | display_errors = on
13 |
14 | ; Use PHP short tags
15 | short_open_tag = on
16 |
--------------------------------------------------------------------------------
/submodules/git/php/conf/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 |
4 | [program:nginx]
5 | command = /usr/sbin/nginx
6 | user = root
7 | autostart = true
8 |
9 | [program:php5-fpm]
10 | command = /usr/sbin/php5-fpm -FR
11 | user = root
12 | autostart = true
13 |
14 | [program:hhvm-fastcgi]
15 | command = hhvm --mode server -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock
16 | user = root
17 | autostart = true
18 |
--------------------------------------------------------------------------------
/submodules/git/php/lamp.dockerfile:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # Base image
3 | ################################################################################
4 |
5 | FROM nginx
6 |
7 | ################################################################################
8 | # Build instructions
9 | ################################################################################
10 |
11 | # Remove default nginx configs.
12 | RUN rm -f /etc/nginx/conf.d/*
13 |
14 | # Install packages
15 | RUN apt-get update && apt-get install -my \
16 | supervisor \
17 | curl \
18 | wget \
19 | php5-curl \
20 | php5-fpm \
21 | php5-gd \
22 | php5-memcached \
23 | php5-mysql \
24 | php5-mcrypt \
25 | php5-sqlite \
26 | php5-xdebug \
27 | php-apc
28 |
29 | # Ensure that PHP5 FPM is run as root.
30 | RUN sed -i "s/user = www-data/user = root/" /etc/php5/fpm/pool.d/www.conf
31 | RUN sed -i "s/group = www-data/group = root/" /etc/php5/fpm/pool.d/www.conf
32 |
33 | # Pass all docker environment
34 | RUN sed -i '/^;clear_env = no/s/^;//' /etc/php5/fpm/pool.d/www.conf
35 |
36 | # Get access to FPM-ping page /ping
37 | RUN sed -i '/^;ping\.path/s/^;//' /etc/php5/fpm/pool.d/www.conf
38 | # Get access to FPM_Status page /status
39 | RUN sed -i '/^;pm\.status_path/s/^;//' /etc/php5/fpm/pool.d/www.conf
40 |
41 | # Prevent PHP Warning: 'xdebug' already loaded.
42 | # XDebug loaded with the core
43 | RUN sed -i '/.*xdebug.so$/s/^/;/' /etc/php5/mods-available/xdebug.ini
44 |
45 | # Install HHVM
46 | RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
47 | RUN echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
48 | RUN apt-get update && apt-get install -y hhvm
49 |
50 | # Add configuration files
51 | COPY conf/nginx.conf /etc/nginx/
52 | COPY conf/supervisord.conf /etc/supervisor/conf.d/
53 | COPY conf/php.ini /etc/php5/fpm/conf.d/40-custom.ini
54 |
55 | ################################################################################
56 | # Volumes
57 | ################################################################################
58 |
59 | VOLUME ["/var/www", "/etc/nginx/conf.d"]
60 |
61 | ################################################################################
62 | # Ports
63 | ################################################################################
64 |
65 | EXPOSE 80 443 9000
66 |
67 | ################################################################################
68 | # Entrypoint
69 | ################################################################################
70 |
71 | ENTRYPOINT ["/usr/bin/supervisord"]
72 |
--------------------------------------------------------------------------------
/submodules/git/php/logs/.gitignore:
--------------------------------------------------------------------------------
1 | **/*.log
2 |
--------------------------------------------------------------------------------
/submodules/git/php/sites/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 | !default.vhost
4 |
--------------------------------------------------------------------------------
/submodules/git/php/sites/default.vhost:
--------------------------------------------------------------------------------
1 | server {
2 | server_name default;
3 | root /var/www/default;
4 | index index.php;
5 |
6 | client_max_body_size 100M;
7 | fastcgi_read_timeout 1800;
8 |
9 | location / {
10 | try_files $uri $uri/ /index.php$is_args$args;
11 | }
12 |
13 | location /status {
14 | access_log off;
15 | allow 172.17.0.0/16;
16 | deny all;
17 | include /etc/nginx/fastcgi_params;
18 | fastcgi_param SCRIPT_FILENAME /status;
19 | fastcgi_pass unix:/var/run/php5-fpm.sock;
20 | }
21 |
22 | location /ping {
23 | access_log off;
24 | allow all;
25 | include fastcgi_params;
26 | fastcgi_param SCRIPT_FILENAME /ping;
27 | fastcgi_pass unix:/var/run/php5-fpm.sock;
28 | }
29 |
30 | location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
31 | expires max;
32 | log_not_found off;
33 | access_log off;
34 | }
35 |
36 | location ~ \.php$ {
37 | try_files $uri =404;
38 | include fastcgi_params;
39 | fastcgi_index index.php;
40 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
41 | fastcgi_pass unix:/var/run/php5-fpm.sock;
42 | # fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/submodules/git/php/www/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 | !default
4 | !default/*
5 |
--------------------------------------------------------------------------------
/submodules/git/php/www/default/index.php:
--------------------------------------------------------------------------------
1 | >/dev/null
28 | do
29 | echo "$(date) - still trying"
30 | sleep 1
31 | done
32 | echo "$(date) - connected successfully"
33 | echo "${green}##########################################################################################"
34 | echo "${green}start jenkins slaves : ${reset} "
35 |
36 | docker exec -it dockergitlab_webserver_1 /run_slave.sh
37 |
38 |
39 | echo "${green}##########################################################################################"
40 | echo "${yellow}Summary:"
41 | echo "${green}##########################################################################################"
42 | echo "${green} You can surf gitlab under : ${yellow} http://localhost:10080 ${green}now "
43 | echo "${green} Windows / Mac Users can use: ${yellow} http://:10080 ${green}now "
44 |
45 | echo " "
46 | echo "${green} You can surf jenkins under : ${yellow} http://localhost:8081 ${green}now "
47 | echo "${green} Windows / Mac Users can use: ${yellow} http://:8081 ${green}now "
48 |
49 | echo " "
50 | echo "${green} You can surf nexus under : ${yellow} http://localhost:8082 ${green}now "
51 | echo "${green} Windows / Mac Users can use: ${yellow} http://:8082 ${green}now "
52 |
53 | echo ""
54 | echo "${green} You can use selenium under : ${yellow} http://localhost:8083 ${green}now "
55 | echo "${green} Windows / Mac Users can use: ${yellow} http://:8083 ${green}now "
56 |
57 |
58 | echo "${green} You can reach selenium gui under : ${yellow} http://localhost:4444/grid/console ${green}now"
59 | echo ""
60 | echo "${green} You can reach selenium gui under : ${yellow} http://localhost:4444/grid/console ${green}now"
61 |
62 | echo "${green} Selenium Hub Url: http://localhost:4444/wd/hub"
63 | echo "${green} Selenium Hub Url: http://:4444/wd/hub"
64 |
65 | echo ""
66 | echo "${green} Windows / Mac Users can use: ${yellow} http://:444/grid/console ${green}now "
67 |
68 | echo "${green}##########################################################################################${reset}"
69 |
70 |
71 |
--------------------------------------------------------------------------------
/submodules/git/webslave/www/index.php:
--------------------------------------------------------------------------------
1 |