diff --git a/charts/jenkins/Chart.yaml b/charts/jenkins/Chart.yaml index decda688..950ebcec 100644 --- a/charts/jenkins/Chart.yaml +++ b/charts/jenkins/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: "v2.222.1" description: A Helm chart for deploying Jenkins on OpenShift with some additional build agents and plugins name: jenkins -version: 1.0.10 +version: 1.0.11 home: https://github.com/redhat-cop/helm-charts icon: https://www.jenkins.io/images/logos/jenkins/256.png maintainers: diff --git a/charts/jenkins/README.md b/charts/jenkins/README.md index 993a8935..4b16a23e 100644 --- a/charts/jenkins/README.md +++ b/charts/jenkins/README.md @@ -3,6 +3,7 @@ [Jenkins](https://jenkins.io/) is an open source automation server which enables developers around the world to reliably build, test, and deploy their software. ## Introduction + This chart helps you to create a Jenkins master and agents on Openshift cluster. It also allows you to customize them based on your needs. ## Installing Jenkins @@ -10,12 +11,13 @@ This chart helps you to create a Jenkins master and agents on Openshift cluster. To install Jenkins on your current namespace: ```bash -$ helm template -f jenkins/values.yaml jenkins | oc apply -f- +helm template -f jenkins/values.yaml jenkins | oc apply -f- ``` -The above command deploys Jenkins on a cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. +The above command deploys Jenkins on a cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. ## Configuration + The following table lists the configurable parameters of the Jenkins chart and their default values. ### Jenkins Master @@ -23,13 +25,13 @@ The following table lists the configurable parameters of the Jenkins chart and t | Parameter | Description | Default | | ------------------------------------------------ | --------------------------------------------------------------------------- | ---------------------------------------------------- | | `appName` | Name of the application | `jenkins` | -| `route` | Enable openshift route | `true` | +| `route` | Enable openshift route | `true` | | `source_secret.name` | Name of the secret object | `git-auth` | | `source_secret.username` | Username of the git account | `idm-sa` | | `source_secret.password` | Password of the git account | `thisisdefinitelymypassword` | -| `sealed_secret.name` | Name of the secret object | `nexus-password` | -| `sealed_secret.username` | Encrypted username data | `AgBd8kR+KbG+FiOpYP4SlR80npiNiZI...` | -| `sealed_secret.password` | Encrypted password data | `AgBd8kR+KbG+FiOpYP4SlR80npiNiZI...` | +| `sealed_secret.name` | Name of the secret object | `nexus-password` | +| `sealed_secret.username` | Encrypted username data | `AgBd8kR+KbG+FiOpYP4SlR80npiNiZI...` | +| `sealed_secret.password` | Encrypted password data | `AgBd8kR+KbG+FiOpYP4SlR80npiNiZI...` | | `deployment.openshiftauth` | Enable Openshift OAuth for Jenkins master | `true` | | `deployment.imagestream.name` | Imagestream name for Jenkins master | `jenkins` | | `deployment.imagestream.tag` | Imagestream tag for Jenkins master | `latest` | @@ -38,8 +40,8 @@ The following table lists the configurable parameters of the Jenkins chart and t | `deployment.limits.cpu_request` | Starting request of cpu that Jenkins master use | `500m` | | `deployment.limits.cpu_limit` | Maximum amount of memory Jenkins master use | `1` | | `deployment.env_vars` | Environment variables for Jenkins master | `''` | -| `persistence.accessModes` | Access mode for Jenkins PV | `''` | -| `persistence.volumeSize` | Volume size for Jenkins PV | `''` | +| `persistence.accessModes` | Access mode for Jenkins PV | `''` | +| `persistence.volumeSize` | Volume size for Jenkins PV | `''` | | `services.jenkins.port_name` | Port name of service for Jenkins master | `web` | | `services.jenkins.port` | Port of Jenkins master service | `80` | | `services.jenkins.target_port` | Target port of Jenkins master service | `8080` | @@ -49,18 +51,20 @@ The following table lists the configurable parameters of the Jenkins chart and t | `services.jenkins-jnlp.port` | Port of Jenkins master service | `50000` | | `services.jenkins-jnlp.target_port` | Target port of Jenkins JNLP service | `50000` | | `services.jenkins-jnlp.selector` | Selector for Jenkins JNLP service to match with Jenkins master deployment | `jenkins` | -|`buildconfigs.name`| Build and ImageStream name | `''` -|`buildconfigs.name.strategy_type`| Build strategy type for Jenkins | `Docker` -|`buildconfigs.name.source_repo`| Git repo URL for custom | `https://github.com/redhat-cop/containers-quickstarts` -|`buildconfigs.name.source_repo_ref`| Git Reference of custom Jenkins | `master` -|`buildconfigs.name.source_context_dir`| The directory in the source repository where Jenkins master docker build is | `/` -|`buildconfigs.name.builder_image_kind`| Builder image kind | `ImageStreamTag` -|`buildconfigs.name.builder_image_name`| Builder image name for custom build | `''` -|`buildconfigs.name.builder_image_tag`| Builder image tag for custom build | `''` -|`role` | The value of role value for Jenkins Agent ImageStream. It is used for Jenkins sync plugin to discover agents automatically | `jenkins-slave` | -|`configAsCode.configMap` | The name of the ConfigMap to create and associate with the Jenkins DeploymentConfig in order to be used for Configuration-as-Code | `null` | -|`configAsCode.body` | The body content of the configuration-as-code which will be stored in the ConfigMap, mounted in the Jenkins pod, and read in as Configuration by the Configuration-as-Code plugin | `null` | +| `buildconfigs.name` | Build and ImageStream name | `''` | +| `buildconfigs.name.strategy_type` | Build strategy type for Jenkins | `Docker` | +| `buildconfigs.name.source_repo` | Git repo URL for custom | `https://github.com/redhat-cop/containers-quickstarts` | +| `buildconfigs.name.source_repo_ref` | Git Reference of custom Jenkins | `master` | +| `buildconfigs.name.source_context_dir` | The directory in the source repository where Jenkins master docker build is | `/` | +| `buildconfigs.name.builder_image_kind` | Builder image kind | `ImageStreamTag` | +| `buildconfigs.name.builder_image_name` | Builder image name for custom build | `''` | +| `buildconfigs.name.builder_image_tag` | Builder image tag for custom build | `''` | +| `role` | The value of role value for Jenkins Agent ImageStream. It is used for Jenkins sync plugin to discover agents automatically | `jenkins-slave` | +| `configAsCode.configMap` | The name of the ConfigMap to create and associate with the Jenkins DeploymentConfig in order to be used for Configuration-as-Code | `null` | +| `configAsCode.body` | The body content of the configuration-as-code which will be stored in the ConfigMap, mounted in the Jenkins pod, and read in as Configuration by the Configuration-as-Code plugin | `null` | + ### Environment Variables + There are additional environment variables you can set to customize your Jenkins based on your needs. You can update these values on your [values](https://github.com/redhat-cop/helm-charts/blob/master/charts/jenkins/values.yaml#L23) file. | Variable | Description | Default | | ------------------------------------------------ | --------------------------------------------------------------------------- | ---------------------------------------------------- | @@ -80,9 +84,9 @@ There are additional environment variables you can set to customize your Jenkins | `GITLAB_TOKEN` | GitLab API token to access repos and projects | `''` | | `GITLAB_GROUP_NAME` | GitLab group name where projects are stored | `rht-labs` | - ### Jenkins Agents -Following agents are created by default when you install the chart. They are designed to run in OpenShift as described [here](https://docs.openshift.com/container-platform/latest/openshift_images/using_images/images-other-jenkins.html#images-other-jenkins-config-kubernetes_images-other-jenkins). You can find more details at [containers-quickstarts](https://github.com/redhat-cop/containers-quickstarts") repository. + +Following agents are created by default when you install the chart. They are designed to run in OpenShift as described [here](https://docs.openshift.com/container-platform/latest/openshift_images/using_images/images-other-jenkins.html#images-other-jenkins-config-kubernetes_images-other-jenkins). You can find more details at [containers-quickstarts](https://github.com/redhat-cop/containers-quickstarts) repository. - jenkins-agent-ansible - jenkins-agent-arachni @@ -104,8 +108,9 @@ Following agents are created by default when you install the chart. They are des You can remove the ones you do not need by deleting the related imagestream and buildconfig blocks from [values](https://github.com/redhat-cop/helm-charts/blob/master/charts/jenkins/values.yaml#L80) file. ### Persistence + If you want to set your Jenkins as ephemeral, you should either remove the persistence [block](https://github.com/redhat-cop/helm-charts/blob/master/charts/jenkins/values.yaml#L55) from your values file or set persistent value as below during the installation: ```bash -$ helm template --set persistence='' -f jenkins/values.yaml jenkins | oc apply -f- +helm template --set persistence='' -f jenkins/values.yaml jenkins | oc apply -f- ```