Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel
Integration:  git github
Puneetha Pai b65b15a82e
Add: details and setup instructions
3 years ago
52713aec03
Add: dockerfile and .dockerignore file as per jenkins installation instructions
3 years ago
2f279a5334
Remove: unused docker-data mount
3 years ago
52713aec03
Add: dockerfile and .dockerignore file as per jenkins installation instructions
3 years ago
b5f95544b0
Initial commit
3 years ago
b65b15a82e
Add: details and setup instructions
3 years ago
2f279a5334
Remove: unused docker-data mount
3 years ago
Storage Buckets

Readme.md

You have to be logged in to leave a comment. Sign In

Jenkins Docker Setup

This repo contains required docker configurations to help quick and reproducible setup of Jenkins.

Jenkins installation page provides us with more detailed explaination of the same and this repo just convert the same set of instructions into easier portable solution using docker-compose.

Usage:

$ docker-compose up --build
Creating JenkinsDocker ... done
Creating JenkinsServer ... done

Details:

The docker-compose.yaml file defines following components:

  • jenkins network: Defines underlying bridge network.
  • jenkins server: This is jenkins server container definition.
  • jenkins docker: A docker:dind container to enable running docker inside docker.

Jenkins Network:

networks:
  jenkins:
    driver: bridge # Defines bridge network to be used by services defined later.

Jenkins Docker:

services:
  jenkins_docker:
    image: docker:dind
    networks:
      jenkins:
        aliases:
          - docker # Defines to use jenkins network defined above also under the alias name `docker`.
    container_name: JenkinsDocker
    privileged: true
    environment:
      - DOCKER_TLS_CERTDIR=/certs
    ports:
      - "2376:2376" # Exposes docker serveer port 2376 to be used by jenkins server container at "tcp://docker:2376".
    volumes:
      - ./jenkins-docker-certs:/certs/client # Docker client certs.
      - ./jenkins-data:/var/jenkins_home # Preserves Jenkins data like job definitions, credentials, build logs, etc.
      - ./extras:/extras # Any extra data or files you want to cache between server restart can be saved here `/extras/`.

Jenkins Server:

services:
  jenkins_server:
    build:
      context: # Build container from the custom Dockerfile defined in the repo.
    networks:
      - jenkins # Use jenkins network defined earlier
    container_name: JenkinsServer
    restart: always
    environment: # Define docker env variable to connect to docker-engine defined in JenkinsDocker container.
      - DOCKER_HOST=tcp://docker:2376
      - DOCKER_CERT_PATH=/certs/client
      - DOCKER_TLS_VERIFY=1
    ports:
      - "8080:8080" # For UI
      - "50000:50000" # For API
    volumes:
      - ./jenkins-data:/var/jenkins_home:rw # Docker client certs.
      - ./jenkins-docker-certs:/certs/client:ro # Preserves Jenkins data like job definitions, credentials, build logs, etc.
      - ./extras:/extras:rw # Any extra data or files you want to cache between server restart can be saved here `/extras/`.
Tip!

Press p or to see the previous file or, n or to see the next file

About

Docker setup to start Jenkins in local

Collaborators 1

Comments

Loading...