Skip to content

gmlp/jenkins_with_slave_CI_CD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jenkins_with_slave_CI_CD

This is a production ready implementation of jenkins.

Pipeline

This repo contains:

  • Dockerfiles: Here you are going to find the Dockerfiles used in the stacks definitions. These images are available in Docker Hub gmlpdou account.
  • stacks: This directory contains the Docker Stacks to deploy Jenkins, Nexus, Sonarqube and another services that your Pipes requires in Docker Swarm.
  • terraform Terraform definitions to deploy this project in AWS.

How to use this project

Deploy it locally:


# Make sure the swarm mode is on
docker swarm init

# Create Sonarqube overlay network
docker network create -d overlay sonarqube

# Create the docker secrets used by Jenkins stack
echo <SECRET> | docker secret create jenkins-user - 
echo <SECRET> | docker secret create jenkins-pass - 

#Deploy Jenkins
docker stack deploy -c stacks/jenkins.yml jenkins

#Deploy sonarqube
docker stack deploy -c stacks/sonarqube.yml sonarqube

#Deploy other service by running
docker stack deploy -c stacks/<STACK_FILE> <STACK_NAME>

Deploy it on AWS


The terraform folder has the following structure:

  • modules: This folder contains the reusable code for this Module, broken down into onw or more modules.
  • examples: This folder contains examples of how to use the modules.

To deploy this module.

  1. You must have a bucket previously created. this bucket is going to be used to store the terraform state.

  2. Modify the bucket and region properties with what you have defenied.

  3. Modify the global output tags. Those tags are going to be included in every resource created in AWS.

  4. Deploy global module

  5. Deploy ci_server module

  6. Deploy stack_deployer module

#

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published