sungha / jenkins-nexus-gitlab-docker

The Jenkins, GitLab and Nexus Sonatype stack powered by Docker and Compose.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jenkins, Nexus and GitLab docker compose

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.

Contents

  1. Requirements
  2. Usage
  3. Configuration

Requirements

Host setup

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

Services Architecture

picture

Usage

Bringing up the stack

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.

Cleanup

In order to entirely shutdown the stack and remove all persisted data, use the following Docker Compose command:

$ docker-compose down -v

Configuration

ℹ️ Configuration is not dynamically reloaded, you will need to restart individual components after any configuration change.

How to configure GitLab

Please refer to the following documentation page for more details about how to configure GitLab inside Docker containers: Dockerized GitLab.

How to configure Nginx

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.

About

The Jenkins, GitLab and Nexus Sonatype stack powered by Docker and Compose.

License:MIT License


Languages

Language:Dockerfile 100.0%