Skip to content

ssbostan/jenkins-stack-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jenkins-stack-kubernetes

GitHub stars 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-2022 Saeid Bostandoust ssbostan@linuxmail.org

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) + set of useful collections
    5. Helm (latest)
    6. Terraform (latest)
    7. Pulumi (latest)
    8. MAASTA (latest)
    9. Tf2 (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:

  • 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:

01 Oct 2022:
  1. Jenkins updated to the latest LTS version.
  2. All tools updated to the latest stable version.
  3. Tf2 tf2project.io was integrated.
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.