├── .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 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 35 | 36 | 37 | 38 | 39 | true 40 | DEFINITION_ORDER 41 | 42 | 43 | 44 | 45 | 46 | 47 | 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 | 84 | 85 | 86 | 87 | 90 | 91 | 94 | 95 | 96 | 97 | 100 | 101 | 104 | 105 | 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 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 1473593441771 173 | 178 | 179 | 180 | 181 | 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 | 210 | 213 | 214 | 215 | 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]
collapseBuild Queue
No builds in the queue.
   S   WNameLast SuccessLast FailureLast Duration  
Success40%
WDescription%
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 | - #151 secSchedule a build for Testproject 
Icon: 21 |  S M L
-------------------------------------------------------------------------------- /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 |