Git Product home page Git Product logo

jenkins-docker-k8s's Introduction

Jenkins in Docker-Compose

  1. Enable & Validate docker environment & docker-compose setup.
choco install -y docker-desktop
choco install -y docker-compose
  1. Update the Docker-compose.yml with volume-mount mappings, and image refs.

  2. Use the existing Docker-compose setup to bring up Jenkins locally on a Docker environment

$env:HOME="C:\Users\<USERNAME>"
docker-compose up -d
docker ps -a
docker container logs jenkins
docker container exec -it jenkins "cat /var/jenkins_home/secrets/initialAdminPassword"
  1. Give the containers about 5 minutes to spin up Jenkins, you can access it on http://localhost:8080 (not https)

Jenkins in Kubernetes

This repository has a Dockerfile and Jenkins official helm chart for setting up a simple Jenkins master for running in Kubernetes.

This Jenkins has the required tools to work in and with Kubernetes

  • Jenkins application with pre-loaded plugins (see plugins-pack-1.txt)
  • Skipped setup wizard
    • You can control admin user and password with --set adminUser=${USER},adminPassword=${PASSWORD}
    • You can add and remove plugins by editing the plugins-pack-1.txt file

Deploy Jenkins helm chart to Kubernetes

# Init helm on your cluster
$ helm init
$ kubectl apply -f rbac-config.yaml

# Deploy the Jenkins helm chart
# (same command for install and upgrade)
$ helm upgrade --install jenkins ./helm/jenkins

Customize & Build your Jenkins

  • Build & Push your custom Jenkins-nonprod image to DockerHub
# Build the image
docker image build -t bobbybabu007/jenkins-nonprod:<VERSION> -f Dockerfile-nonprod .

# Push the image
docker image push bobbybabu007/jenkins-nonprod:<VERSION>

  • Build & Push your custom Jenkins-prod image to DockerHub
# Build the image
$ docker image build -t bobbybabu007/jenkins:<VERSION>  -f Dockerfile-prod .

# Push the image
$ docker push bobbybabu007/jenkins:<VERSION>

Data persistence

By default, in Kubernetes, the Jenkins deployment uses a persistent volume claim that is mounted to /var/jenkins_home. This assures your data is saved across crashes, restarts and upgrades.

jenkins-docker-k8s's People

Contributors

bobbybabu007 avatar anup1384 avatar aakash12t avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.