jenkins-stack-kubernetes icon indicating copy to clipboard operation
jenkins-stack-kubernetes copied to clipboard

Scripts and manifests to deploy complete Jenkins on Kubernetes

jenkins-stack-kubernetes

Visits Badge GitHub license GitHub stars Twitter Follow LinkedIn Follow

Stargaze GitHub Repo stars if you find it useful.

Scripts and manifests to deploy Jenkins containers CI/CD stack on Kubernetes.

The Docker-compose version is also available.

Copyright 2021 Saeid Bostandoust [email protected]

This stack contains:

  • Jenkins (with a complete set of tools and plugins).
  • Docker (on Kubernetes for building images and running Jenkins jobs).
  • Docker registry (as a image repository).
  • Gitea (as a version control system).

Installed tools and plugins:

  • Installed tools in Jenkins:
    1. Git client (latest)
    2. Docker client (latest)
    3. Kubernetes client (latest)
    4. Ansible (latest) + A complete set of useful collections
    5. Helm (latest)
    6. Terraform (latest)
    7. Pulumi (latest)
    8. MAASTA (latest)
  • Jenkins plugins:
    1. 50 most useful Jenkins plugins
  • Ansible collections:
    1. 13 most useful Ansible collections

How to deploy the stack:

The stack is tested on Kubernetes 1.20+, should works on earlier versions.

Prerequisites:

  1. Kubernetes should supports LoadBalancer service type.
  2. Kubernetes should be configured to creating PVC dynamically.
  3. OpenSSL to creating self-signed certificates.

Get started:

./deploy

demo

How to contribute:

Don't hesitate! all contributions are welcomed.

TODO:

  • [x] Update tools to the latest stable version
  • [ ] SSL/TLS for Jenkins
  • [ ] SSL/TLS for Gitea
  • [ ] Expose Jenkins behind Ingress object
  • [ ] Expose Docker registry behind Ingress object
  • [ ] Expose Gitea behind Ingress object

Changelog:

15 May 2022:
  1. Jenkins updated to the latest LTS version.
  2. All tools updated to the latest stable version.
  3. Some new Jenkins plugins installed, See Dockerfile.
  4. Install Helm and Terraform via their package repositories.
  5. Pulumi was added to the Jenkins environment.
08 Feb 2022:
  1. Jenkins updated to the latest LTS version.
  2. All tools updated to the latest stable version.
  3. Some new Jenkins plugins installed, See Dockerfile.
  4. MAASTA to integrates MAAS, Terraform and Ansible.
13 Oct 2021:
  1. Jenkins updated to the latest LTS version.
  2. All tools updated to the latest stable version.
  3. Some new Jenkins plugins installed, See Dockerfile.
  4. Several new Ansible collections were installed.