Skip to content

Instantly share code, notes, and snippets.

@ericshen90
Forked from bsparaujo/docker-compose.yml
Created September 2, 2019 05:20
Show Gist options
  • Save ericshen90/8d27dbfb69ea7838f74b222693f97dce to your computer and use it in GitHub Desktop.
Save ericshen90/8d27dbfb69ea7838f74b222693f97dce to your computer and use it in GitHub Desktop.
Docker CI/CD
version: "2"
networks:
default:
ipam:
driver: default
config:
- subnet: "192.168.250.10/24"
services:
gitlab:
image: gitlab/gitlab-ce:12.1.6-ce.0
hostname: 'gitlab.ci.localhost.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.localhost.com/'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
networks:
- default
ports:
- "10080:80"
- "10443:443"
- "10022:22"
volumes:
- /opt/docker/ci/gitlab/conf:/etc/gitlab
- /opt/docker/ci/gitlab/data:/var/opt/gitlab
- /opt/docker/ci/gitlab/log:/var/log/gitlab
nexus:
image: sonatype/nexus3:3.18.1
networks:
- default
ports:
- "18081:8081"
volumes:
- /opt/docker/ci/nexus:/nexus-data
sonar:
image: sonarqube:7.9-community
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://sonardb/sonarDB
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
networks:
- default
ports:
- "19000:9000"
- "19092:9092"
volumes:
- /opt/docker/ci/sonarqube/conf:/opt/sonarqube/conf
- /opt/docker/ci/sonarqube/data:/opt/sonarqube/data
- /opt/docker/ci/sonarqube/log:/opt/sonarqube/logs
depends_on:
- sonardb
sonardb:
image: postgres:11-alpine
networks:
- default
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonarDB
jenkins:
image: jenkins/jenkins:lts-alpine
environment:
- NEXUS_PORT=8081
- SONAR_PORT=9000
- SONAR_DB_PORT=5432
networks:
- default
ports:
- "18080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /opt/docker/ci/jenkins:/var/jenkins_home/
depends_on:
- nexus
- sonar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment