CICD

OpeNgine supports multiple continuous integration (CI) and continuous delivery (CD) platforms:

By default OpeNgine will provision Jenkins on management cluster with new created pipeline for application. Also, all credentials for git repositories, docker registry and kubernetes cluster will be created as Jenkins secrets.

Jenkins

cicd:
  cluster-identifier-N:
    type: provision-jenkins-local
    adminUser: "admin"
    adminPassword: "password"
    account_name: jenkins-admin
    helm:
      repo:
        name: "jenkins"
        url: "https://kubernetes-charts.storage.googleapis.com/"
      chart:
        app_name: "OpeNgine-Jenkins"
        name: "jenkins"
        version: "0.32.0"
        timeout: 500

  vilov-platform-cluster:
    type: cluster-identifier-N
    account_name: jenkins-admin

Element

Description

cicd

Parent element of Jenkins configuration, contains list clusters to be configured.

type

For Jenkins type can have two values: provision-jenkins-local - OpeNgine will provision Jenkins master and also this cluster will be used for provisioning Jenkins build agents; provisioning-jenkins-slave - OpeNgine will add this cluster connectivity information to Jenkins master for deploying application.

cluster-identifier-N

Kubernetes cluster identifier(s). Gropus vault settings. OpeNgine will install and configure HashiCorp Vault on cluster(s) using these identifiers.

account_name

OpeNgine will provision this account in Kubernetes and will run Jenkins using this account. Also OpeNgine will create this this account on other clusters and Jenkins will use it for connection.

adminUser

Admin username for Grafana. Default value is admin.

adminPassword

Parent element containing Helm chart details. Allows to control which version is installed and from which repository.

helm

Admin password for Grafana. Default value is admin.

helm.repo.name and helm.repo.url

Chart name and repository location.

helm.chart

List of settings including: application version, chart version, appication name etc.

That part of configuration describes creting Jenkins itself, but does not cover pipeline part. For creating and running pipeline Jenkins needs to have have access to version control systems and artifact storage. Supported and verified Git repositories:

  • Github

  • Azure Repos

Supported container registries:

  • Docker registry

  • Azure Container Registry (ACR)

  • Google Container Registry (GCR)

For more information on how to configure repositories and registries, please follow the instructions described in the Registries and Repositories section.