CI/CD Suite Docker Application Package
Prerequisite
- Docker: 18.09.1
- Docker Compose: 1.23.2
- Docker Swarm enabled (docker swarm init)
- Docker APP
NOTE: docker-app will be available in main Docker bundle in future release.
Add entry in /etc/hosts files
127.0.0.1 test.company.com
Initialize Docker Swarm
docker swarm init
Deploy Docker Registry
docker run -d -p 5000:5000 --name registry registry:2
Tools
- Jenkins
- Ports: 8080, 443, 50000
- Nexus
- Ports: 8081
- Sonarqube
- Ports: 9000
- Postgres
- Ports: 5432
- Traefik
- Ports: 8080, 443
Build and Publish Jenkins Master Image
docker build -t localhost:5000/jenkins:latest jenkins/
docker push localhost:5000/jenkins:latest
Build and Publish Jenkins Build Agent Image
docker build -t localhost:5000/jenkinsagent:latest jenkinsagent/
docker push localhost:5000/jenkinsagent:latest
Create Docker Secret
echo "admin" | docker secret create jenkins_username -
echo "admin" | docker secret create jenkins_password -
echo "admin" | docker secret create pg_password -
NOTE: PLEASE DO NOT USE ADMIN/ADMIN as your credentials.
Deploy Docker Application Package
docker-app deploy
Check Docker Service Status
docker service ls
Open Traefik Dashboard in Browser
open http://test.company.com:8080/
Open Jenkins Master in Browser
open http://test.company.com/jenkins/
Open Nexus Repository Manager in Browser
open http://test.company.com/nexus
NOTE: Default credential admin/admin123.
Open Sonarqube in Browser
open http://test.company.com/sonarqube/
NOTE: Default credential admin/admin.