Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save richardsonlima/c15e1c541c3a6306fa2ab2980c6ad385 to your computer and use it in GitHub Desktop.
Save richardsonlima/c15e1c541c3a6306fa2ab2980c6ad385 to your computer and use it in GitHub Desktop.
docker-compose-jenkins-nexus-sonar

Docker Compose file to create containers for Jenkins, SonarQube and Nexus

##Setup an AWS EC2 instance.

sudo yum update -y
sudo yum install -y docker
sudo yum install -y git
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

###Log out and log back in again to pick up the new docker group permissions.

docker info
git clone https://github.com/muralibala/docker-compose-jenkins-nexus-sonar.git
cd docker-compose-jenkins-nexus-sonar/
docker-compose up
curl http://localhost:8080

###In case of failure, run a test each image individually. ##Make sure to give jenkins user privileges to jenkins directory

sudo chown 1000 jenkins
docker run -d -p 8080:8080 --name=jenkins-master jenkins -v $(pwd)/jenkins:/var/jenkins_home
docker run -d -p 8081:8081 --name=nexus sonatype/nexus:oss
version: '2'
networks:
devnet:
driver: bridge
services:
nexus:
image: sonatype/nexus
container_name: nexus
ports:
- "8081:8081"
networks:
- devnet
volumes:
- "/opt/nexus/:/var/lib/nexus"
jenkins:
image: jenkins
container_name: jenkins
ports:
- "8080:8080"
networks:
- devnet
volumes:
- "$PWD/jenkins:/var/jenkins_home"
sonarqube:
image: sonarqube:6.3.1
container_name: sonarqube
restart: always
ports:
- "9000:9000"
networks:
- devnet
depends_on:
- sonardb
links:
- sonardb
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://sonardb:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
volumes:
- "/opt/sonar/:/var/lib/sonar"
sonardb:
networks:
- devnet
image: postgres:9.6.1
container_name: postgres
restart: always
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRESQL_DB=sonar
ports:
- "5432:5432"
volumes:
- "/opt/postgres:/var/lib/postgresql"
cadvisor:
image: google/cadvisor
volumes:
- "/:/rootfs:ro"
- "/var/run:/var/run:rw"
- "/sys:/sys:ro"
- "/var/lib/docker/:/var/lib/docker:ro"
ports:
- "8090:8080"
networks:
- devnet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment