Run the latest version of Jenkins, Nexus and GitLab with Docker Compose. It gives you the ability to use GitLab as git repository, Jenkins as CI server and Nexus to manage binaries and build artifacts across your software supply chain. Based on the official Docker images from Jenkins and Nexus :
Also GitLab based on Dockerized GitLab.
By default, the stack exposes the following ports:
- 80: Nginx
- 10022: GitLab SSH
And also you can access stack service, through docker network, following ports:
- 80: GitLab
- 8080: Jenkins
- 8081: Nexus
Clone this repository, then start the stack using Docker Compose:
$ docker-compose up
You can also run all services in the background (detached mode) by adding the -d
flag to the above command.
ℹ️ You must run
docker-compose build
first whenever you switch branch or update a base image. If you are starting the stack for the very first time, please read the section below attentively.
In order to entirely shutdown the stack and remove all persisted data, use the following Docker Compose command:
$ docker-compose down -v
ℹ️ Configuration is not dynamically reloaded, you will need to restart individual components after any configuration change.
Please refer to the following documentation page for more details about how to configure GitLab inside Docker containers: Dockerized GitLab.
Nginx route requests to services using Nginx upstearm. The Nginx default configuration is stored in nginx/config/nginx.conf
.
Also you can change each service upstearm default configurtion stored in nginx/config/
. For exapmle if you want change GitLab HTTP address,
you should change GITLAB_HOST
on docker-compose, GitLab service, and also server_name
on nginx/config/gitlab.conf
.