This file documents all notable changes to the Jenkins Helm Chart. The release numbering uses semantic versioning.
Use the following links to reference issues, PRs, and commits prior to v2.6.0.
https://github.com/helm/charts/issues/[issue#]
https://github.com/helm/charts/pull/[pr#]
https://github.com/helm/charts/commit/[commit]/stable/jenkins
The changelog until v1.5.7 was auto-generated based on git commits. Those entries include a reference to the git commit to be able to get more details.
Add the ability to modify retentionTimeout
and waitForPodSec
default value in JCasC
Reintroduces changes from 4.7.0 (reverted in 4.7.1), with additional fixes:
env
and is not duplicated anymoreAdds support for ephemeralStorage request and limit in Kubernetes plugin JCasC template
Add the config-init-script checksum into the controller statefullset pod annotations to trigger restart of the pod in case of updated init scripts.
Update Jenkins image and appVersion to jenkins lts release version 2.414.3
Changes in 4.7.0 were reverted.
Runs config-reload
as an init container, in addition to the sidecar container, to ensure that JCasC YAMLS are present before the main Jenkins container starts. This should fix some race conditions and crashes on startup.
Change jenkins-test image label to match the other jenkins images
Update Jenkins image and appVersion to jenkins lts release version 2.414.2
Introducing TPL function on variables related to hostname in ./charts/jenkins/templates/jenkins-controller-ingress.yaml
Add values to documentation
Update word from hundreds to over 1800 to align with blurb at https://github.com/jenkinsci/.
Update configuration-as-code
plugin to fix dependency issues with azure-ad
plugin
Added .Values.controller.httpsKeyStore.jenkinsHttpsJksSecretKey
to allow overriding the default secret key containing the JKS file.
Added .Values.controller.httpsKeyStore.jenkinsHttpsJksPasswordSecretName
to allow getting the JKS password from a different secret.
Added .Values.controller.httpsKeyStore.jenkinsHttpsJksPasswordSecretKey
to allow overriding the default secret key containing the JKS password.
Update Jenkins image and appVersion to jenkins lts release version 2.414.1
Added .Values.persistence.dataSource
to allow cloning home PVC from existing dataSource.
Update Jenkins image and appVersion to jenkins lts release version 2.401.3
Added .Values.agent.jnlpregistry
to allow agents to be configured with private registry.
Add config keys for liveness probes on agent containers.
Update Jenkins version in controller test matching LTS version
Update Jenkins image and appVersion to jenkins lts release version 2.401.2
Allow the kubernetes API server URL to be configurable.
Bump kiwigrid/k8s-sidecar from 1.23.1 to 1.24.4 and jenkins/inbound-agent from 3107.v665000b_51092-5 to 3107.v665000b_51092-15.
Fix various typos in the chart documentation.
plugin | old version | new version |
---|---|---|
kubernetes | 3900.va_dce992317b_4 | 3937.vd7b_82dbe347b |
configuration-as-code | 1625.v27444588cc3d | 1647.ve39ca_b_829b_42 |
git | 5.0.0 | 5.1.0 |
ldap | 671.v2a_9192a_7419d | 682.v7b_544c9d1512 |
Update Jenkins image and appVersion to jenkins lts release version 2.401.1
Update Jenkins image and appVersion to jenkins lts release version 2.387.3
Bump chart version.
Document building charts for weekly releases.
Enhance repository appearance and miscellaneous cleanup.
Comply with superlinter rules and address ShellCheck issues.
Bump kiwigrid/k8s-sidecar from 1.15.0 to 1.23.1.
Bump jenkins/inbound-agent from 4.11.2-4 to 3107.v665000b_51092-5.
Update bundled plugins:
Update bats from 1.2.1 to 1.9.0.
Update various GH actions, typo fixes, and miscellaneous chores.
Bump helm-unittest from 0.2.8 to 0.2.11.
Update wording in values.yml.
Update Jenkins image and appVersion to jenkins lts release version 2.387.2
Correct incorrect env var definition Disable volume mount if disableSecretMount enabled
Document .Values.agent.directConnection
in README.
Add default value for .Values.agent.directConnection
to values.yaml
Added .Values.agent.directConnection
to allow agents to be configured to connect direct to the JNLP port on the
controller, preventing the need for an external HTTP endpoint for this purpose.
Added .Values.controller.shareProcessNamespace
and .Values.controller.httpsKeyStore.disableSecretMount
to enable sourcing TLS certs from external issuers
Update Jenkins image and appVersion to jenkins lts release version 2.387.1
Added .Values.helmtest.bats.image
and .Values.helmtest.bats.image
to allow unit tests to be configurable. Fixes [https://github.com/jenkinsci/helm-charts/issues/683]
Update Jenkins image and appVersion to jenkins lts release version 2.375.3
Removed hardcoding of chart version in tests to make maintenance easier
Added .Values.serviceAccount.extraLabels
on Service Account
Added .Values.serviceAccountAgent.extraLabels
on Agent's Service Account
Moved use of .Values.containerEnv
within jenkins
Container to top of env
block to allow for subsequent Environment Variables to reference these additional ones.
Update Jenkins image and appVersion to jenkins lts release version 2.375.2
Fixed the controller.prometheus.metricRelabelings
being unable to convert the value to the ServiceMonitor.
Added controller.prometheus.relabelings
to allow relabling before scrape.
Added default values for controller.prometheus.relabelings
and controller.prometheus.metricRelabelings
.
CronJob API version upgraded to batch/v1
Added option to set secretEnvVars.
Update Jenkins image and appVersion to jenkins lts release version 2.375.1
Fixed chart notes not rendering Jenkins URL with prefix when controller.jenkinsUriPrefix
is set.
Fixed chart notes not rendering Jenkins URL with https
when controller.ingress.tls
or controller.controller.httpsKeyStore.enable
is set.
Fixed chart notes rendering wrong JCasC URL when not using controller.ingress
.
Update Jenkins image and appVersion to jenkins lts release version 2.361.4
Added option to mount all keys from an existing k8s secret
Adding tpl
to controller.additionalExistingSecrets
Update Jenkins image and appVersion to jenkins lts release version 2.361.3
Update default plugin versions
plugin | old version | new version |
---|---|---|
kubernetes | 3706.vdfb_d599579f3 | 3734.v562b_b_a_627ea_c |
git | 4.11.5 | 4.13.0 |
configuration-as-code | 1512.vb_79d418d5fc8 | 1569.vb_72405b_80249 |
Fix grammar and typos
Update Jenkins image and appVersion to jenkins lts release version 2.361.2
Modify the condition to trigger copying jenkins_config files when configAutoReload option is disabled during Jenkins initialization
Support for remote URL for configuration
Add option to set hostnetwork for agents
Add an extra optional argument to extraPorts in order to specify targetPort
Remove k8s capibility requirements when setting priority class for controller
plugin | old version | new version |
---|---|---|
kubernetes | 3600.v144b_cd192caa | 3706.vdfb_d599579f3 |
workflow-aggregator | 581.v0c46fa_697ffd | 590.v6a_d052e5a_a_b_5 |
configuration-as-code | 1429.v09b_044a_c93de | 1512.vb_79d418d5fc8 |
git | 4.11.3 | 4.11.5 |
Resolve version conflict between default install of plugins.
Support Google Managed Prometheus
Remove option to provide command and args of agent as YAML. This feature was never supported by the Jenkins Kubernetes plugin.
Add option to provide additional containers to agents
Update Jenkins image and appVersion to jenkins lts release version 2.361.1
Update Jenkins casc default settings to allow security
configs to be provided
Update Jenkins image and appVersion to jenkins lts release version 2.346.3
projectNamingStrategy
is configurable in default config.
If installPlugins
is disabled, don't create unused plugins volume.
Update Jenkins image and appVersion to jenkins lts release version 2.346.2
If keystore is defined, it is now also made available in the initContainer.
JCasC ConfigMaps now generate their name from the jenkins.casc.configName
helper
Update Jenkins image and appVersion to jenkins lts release version 2.346.1
Allow setting imagePullSecret
for backup job via backup.imagePullSecretName
Fix path of projected secrets from additionalExistingSecrets
.
Update README with explanation on the required environmental variable AWS_REGION
in case of using an S3 bucket.
project adminSecret, additionalSecrets and additionalExistingSecrets instead of mount with subPath
Update README to fix JAVA_OPTS
name.
Update plugins
Update jenkins-controller-statefulset projected volumes definition
Added 'controller.prometheus.metricRelabelings' to allow relabling and dropping unused prometheus metrics
Added controller.sidecars.configAutoReload.envFrom
, controller.initContainerEnvFrom
, controller.containerEnvFrom
No code changes - CI updated to run unit tests using Helm 3.8.2.
Removes automatic remotingSecurity
setting when using a container tag older than 2.326
(introduced in 3.11.7
). If you're using a version older than 2.326
, you should explicitly set .controller.legacyRemotingSecurityEnabled
to true
.
Update Jenkins image and appVersion to jenkins lts release version 2.332.3
Make namespace configurable for agents and additional agents.
Added a flag for disabling the default Jenkins Agent configuration.
Update Jenkins image and appVersion to jenkins lts release version 2.332.2
plugin | old version | new version |
---|---|---|
configuration-as-code | 1.51 | 1414.v878271fc496f |
Make externalTrafficPolicy and loadBalancerSourceRanges
fields customizable for Agent listener service via controller.agentListenerExternalTrafficPolicy
and controller.loadBalancerSourceRanges
.
Removed Configuration as Code remotingSecurity
section for Jenkins 2.326 or newer. See Documentation to learn more.
Update Jenkins image and appVersion to jenkins lts release version 2.332.1
Change Backup Role name function call to match the RoleDef function call in the Backup RoleBinding
Update Jenkins image and appVersion to jenkins lts release version 2.319.3
Update kiwigrid/k8s-sidecar:1.15.0 Update jenkins/inbound-agent:4.11.2-4
Improve example for workspaceVolume. Clarify that this is not a list.
Update configuration-as-code plugin to 1.55.1
Update default plugin versions
plugin | old version | new version |
---|---|---|
kubernetes | 1.31.1 | 1.31.3 |
git | 4.10.1 | 4.10.2 |
Update Jenkins image and appVersion to jenkins lts release version 2.319.2
Fix definition of startupProbe when deploying on a Kubernetes cluster < 1.16
correct VALUES_SUMMARY.md for installLatestPlugins
Update default plugin versions
plugin | old version | new version |
---|---|---|
kubernetes | 1.30.11 | 1.31.1 |
git | 4.10.0 | 4.10.1 |
configuration-as-code | 1.54 | 1.55 |
Add JAVA_OPTIONS to the README so proxy settings get picked by jenkins-plugin-cli
Fix config reload request URL when httpsKeystore in use
Update Jenkins image and appVersion to jenkins lts release version 2.319.1 Update following plugins:
Adding tpl
to controller.overrideArgs
Added containerSecurityContext
Fix mounting of HTTPS keystore secret when httpsKeyStore is enabled
Update Jenkins image and appVersion to jenkins lts release version 2.303.3
Adding tpl
to initScripts
Add controller.tagLabel
to specify the label for the image tag, for example jdk11
or alpine
Move jenkins web root outside of home dir
Add controller.initConfigMap
to pass pre-existing init.groovy.d
ConfigMaps to the controller
Update missed reference to jenkins/inbound-agent:4.11-1
Update jenkins/inbound-agent:4.11-1
Update jenkins/inbound-agent:4.10-3
Update kiwigrid/k8s-sidecar:1.14.2
Update git and casc plugins versions
Added the option to create AWS SecurityGroupPolicy resources
Fix httpsKeyStore mount when controller.httpsKeyStore.enable
is true
Update Jenkins image and appVersion to jenkins lts release version 2.303.2
Support custom agent pod labels
Disallow ingress on port 50000 when agent listener is disabled
Add support for specifying termination-log behaviour for Jenkins controller
Add support for creating a Pod Disruption Budget for Jenkins controller
Update workdingDir to /home/jenkins/agent
Update location of icon (wiki.jenkins.io is down)
Add support for adding labels to the Jenkins home Persistent Volume Claim (pvc)
Update Jenkins image and appVersion to jenkins lts release version 2.303.1
Added extended documentation for Backup and Restore.
Sanitized the Jenkins Label
Fixed controller.customJenkinsLabels
not getting templated into the controller labelString:
field in JCasC
Update Jenkins image and appVersion to jenkins lts release version 2.289.3
Add parameter backup.serviceAccount.create
to disable service account creation for backup service and backup.serviceAccount.name
to allow change of the SA name.
backup.annotations
was moved to backup.serviceAccount.annotations
Enable setting controller.serviceExternalTrafficPolicy
to set the standard Service option. externalTrafficPolicy
denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints.
Add optional controller.initContainerResources
, if set, it will change resources allocation for init controller, overwise the controller.resources
will be used
Allow to configure nodeUsageMode via agent.nodeUsageMode
Update tests to work with unittest 0.2.6
Update Jenkins image and appVersion to jenkins lts release version 2.289.2
Enable setting controller.installLatestSpecifiedPlugins
to set whether to download the latest dependencies of any plugin that is requested to have the latest version.
Fix activeDeadlineSeconds wrong type bug in jenkins-backup-cronjob template
Allow controller.podAnnotations
to be render as a template
Allow showRawYaml for the default agent's pod template to be customized.
configAutoReload container updated from kiwigrid/k8s-sidecar:0.1.275
to kiwigrid/k8s-sidecar:1.12.2
Make controller.ingress.resourceRootUrl
compatible with API version networking.k8s.io/v1 on k8s >= 1.19.x
Update Jenkins image and appVersion to jenkins lts release version 2.289.1
persistence.mounts
additionally mount to init container to allow custom CA certificate keystore
Added controller.overrideArgs
so any cli argument can be passed to the WAR.
Correct docs on disabling plugin installation
Support generating SecretClaim
resources in order to read secrets from HashiCorp Vault into Kubernetes using kube-vault-controller
.
Prevent controller.httpsKeyStore
from improperly being quoted, leading to an invalid location on disk
Correct docs on disabling plugin installation
Update plugins
Add controller.additionalExistingSecrets
property
Add support for disabling the Agent listener service via controller.agentListenerEnabled
.
Update Jenkins image and appVersion to jenkins lts release version 2.277.4
agent.jenkinsUrl
value will always be used, if setjenkinsUrl
and jenkinsTunnel
generation: always use fully qualified addressUpdate Jenkins image and appVersion to jenkins lts release version 2.277.3
fix controller-ingress line feed bug
Update Git plugin version to v4.7.1 Update ldap plugin version to v2.5
Use tpl function for environment vars. Fixes [https://github.com/jenkinsci/helm-charts/issues/324]
Update Jenkins image and appVersion to jenkins lts release version 2.277.2
Enable setting controller.installLatestPlugins
to set whether to download the minimum required version of all dependencies.
Add controller.additionalSecrets
documentation
Add controller.additionalSecrets
property
Change default Jenkins image to jdk11
variant
Add missing controller.jenkinsUrlProtocol
property
Add additional metadata artifacthub.io/images
for artifacthub
Update Jenkins image and appVersion to jenkins lts release version 2.277.1 Update Git plugin version to v4.6.0 Update kubernetes plugin version to v1.29.2
Fix rendering controller.ingress.path
Added description for controller.jenkinsUrl
value
Enable setting ImagePullSecrets to controller and agent service accounts.
Calculate consistent unique agent IDs to be used in pod templates. Fixes [https://github.com/jenkinsci/helm-charts/issues/270]
Fix documentation for the kubernetes probes
Typo in documentation
Update Jenkins image and appVersion to jenkins lts release version 2.263.4
Added GitHub action to automate the updating of LTS releases.
Enable setting controller.updateStrategy to change the update strategy for StatefulSet
Fixed issue for the AgentListener where it was not possible to attribute a NodePort
Upgrade kubernetes plugin to 1.29.0 and CasC plugin to 1.47
Fix init scripts config map name
Fix missing newline when httpsKeyStore
is enabled
Mount controller init scripts from ConfigMap
Fix namespaceOverride
not applied when loading JCasC
Update Git plugin version to v4.5.2
Update Jenkins image and appVersion to jenkins lts release version 2.263.3
Enable setting maxRequestsPerHostStr to change the max concurrent connections to Kubernetes API
Update Jenkins image and appVersion to jenkins lts release version 2.263.2
.Values.controller.podSecurityContextOverride
and .Values.backup.podSecurityContextOverride
.jenkins-backup-cronjob.yaml
.Enable to only backup job folder instead of whole jenkins
Improve Documentation around JCasc and Custom Image
Added GitHub Action testing on Kind 1.16, 1.17, 1.18, 1.19 & 1.20
Fixes & unit tests for Ingress resources on Kubernetes 1.19 and above
Ingress resources on Kubernetes 1.19 (or above) are created with the version networking.k8s.io/v1
Added support for backing up to Azure Blob Storage.
Use 2.263.1 image
README.md
with explanation on how to mount additional secrets.Values.controller.tolerations
and .Values.controller.nodeSelector
variable names in templates\jenkins-backup-cronjob.yamljenkins-controller
jenkins-agent
init
for the init container which downloads Jenkins pluginsjenkins
for the Jenkins controllerconfig-reload
for the sidecar container which automatically reloads JCasCbats/bats
image instead of dduportal/bats
For migration instructions from previous versions and additional information check README.md.
Fix: master.javaOpts
issue with quoted values
Recommend installing plugins in custom image
Removed /tmp volume. Making /tmp a volume causes permission issues with jmap/jstack on certain Kubernetes clusters
Fix location of jenkins.war file.
It is located in /usr/share/jenkins/jenkins.war
and can be fonfigured via master.jenkinsWar
.
Add support for plugin-installation-manager-tool
Added Startup probe for Jenkins pod when Kubernetes cluster is 1.16 or newer
scriptApproval is taken into account when enableXmlConfig is false.
Add Tilt support for easier helm chart development.
Fix error on missing ingress.paths
value
Added documentation for ingress and jenkins URL
Fix priorityClassName entry in values.yaml file
Added support for disabling the helm.sh/chart annotation
Added support for annotations in podTemplates
Add nodeSelector in the backup pod Fix tolerations in the backup pod
Update list of maintainers
Added Support for websockets in the default Jcasc config Added trailing slash to JENKINS_URL env var
Added unit tests for most resources in the Helm chart.
Helm chart README update
Add option to configure securityContext capabilities
Added configurable security context for jenkins backup CronJob and annotations to its serviceaccount.
Make activeDeadlineSeconds for backup job configurable
Make namespace of PrometheusRule configurable
Bumped configuration-as-code plugin version from 1.41 to 1.43. See configuration-as-code plugin issue #1478
Fix indentation of JAVA_OPTS
Add support for helm unittest and include first tests
Target port of container jenkins-sc-config
taken the value from values.yaml.
Add a secondary ingress template for those who want a second ingress with different labels or annotations or whatever else.
Example: You want /github-webhook to be on a public ingress, while the main Jenkins intance to be on a private locked down ingress.
Update configScripts example
Add timja as a maintainer
Update k8s-sidecar image to 0.1.193
Only mount empty dir secrets-dir if either master.enableXmlConfig
or master.secretsFilesSecret
is set
Fixes #19
Updated README for new location
Fix as per JENKINS-47112
Support Jenkins Resource Root URL
Add an option to specify that Jenkins master should be initialized only once, during first install.
Reorder README parameters into sections to facilitate chart usage and maintenance
jenkins/jnlp-slave
is deprected and jenkins/inbound-agent
should be used instead.
Also updated it to newest version (4.3-4).
Fixes #22708
Also fixes indentation for #23114
Always mount {{ .Values.master.jenkinsRef }}/secrets/ directory. Previous it
was mounted only when master.enableXmlConfig
was enabled.
Add an option to specify pod based on labels that can connect to master if NetworkPolicy is enabled
Configure REQ_RETRY_CONNECT
to 10
to give Jenkins more time to start up.
https://github.com/kiwigrid/k8s-sidecar
Value can be configured via master.sidecars.configAutoReload.reqRetryConnect
Add support to set runAsUser
and runAsGroup
for agent
.
Only render authorizationStrategy and securityRealm when values are set.
The README contains more details for this update. Please note that the updated values contain breaking changes.
plugin | old version | new version |
---|---|---|
kubernetes | 1.25.3 | 1.25.7 |
workflow-job | 2.38 | 2.39 |
credentials-binding | 1.21 | 1.22 |
configuration-as-code | 1.39 | 1.41 |
configAutoReload container updated from kiwigrid/k8s-sidecar:0.1.132
to kiwigrid/k8s-sidecar:0.1.144
Add support to override workingDir
for default pod template
Add support for installing plugins in addition to the chart's default plugins via master.additionalPlugins
Allow configuration of yamlMergeStrategy via agent.yamlMergeStrategy
In the jenkins.xml.podTemplate
helper function, allow templating of all string values under agent.volumes
except type
by rendering them with the tpl
function
Added auto detection for Ingress API version
Allow to use an existing secret for the jenkins admin credentials
Add support for UI security in the default JCasC via master.JCasC.securityRealm
and master.JCasC.authorizationStrategy
which deny anonymous access by default
Render agent.envVars
in kubernetes pod template JCasC
Cleanup agent.yamlTemplate
rendering in kubernetes pod template XML configuration
Render agent.nodeSelector
in the kubernetes pod template JCasC
Add support for overriding Ingress paths via master.ingress.paths
Add the following options for configuring the Kubernetes plugin.
Add support for disabling remember me via master.disableRememberMe
Add support for using a different markup formatter via master.markupFormatter
Add support for executor mode configuraton with master.executorMode
.
Instead of configuring the configuration-as-code plugin version via
master.JCasC.pluginVersion
it is now installed via master.installPlugins
Allow templating of serviceAccount.annotations
and serviceAccountAgent.annotations
by rendering them with the tpl
function
Add support for Persistent Volume Claim (PVC) in agent.volumes
Render agent.volumes
in kubernetes pod template JCasC
Reverts 1.16.1 as it introduced an error #22047
Fixed a bug with master.runAsUser variable due to use wrong type for comparison.
Add master.overwritePluginsFromImage
to allow support for jenkins plugins installed in the master image to persist.
plugin | old version | new version |
---|---|---|
kubernetes | 1.25.1 | 1.25.3 |
workflow-job | 2.36 | 2.38 |
git | 4.2.0 | 4.2.2 |
configuration-as-code | 1.36 | 1.39 |
configAutoReload container updated from kiwigrid/k8s-sidecar:0.1.20
to kiwigrid/k8s-sidecar:0.1.132
support auto-reload container environment variables configuration
Fix wrong indent in tolerations
Add support for custom ClusterIP
Fix agent.yamlTemplate
rendering in kubernetes pod template JCasC
Add master.networkPolicy.internalAgents
and master.networkPolicy.externalAgents
stanzas to fine grained controls over where internal/external agents can connect from. Internal ones are allowed based on pod labels and (optionally) namespaces, and external ones are allowed based on IP ranges.
Add support for easy configuration of additional agents which inherit values from agent
.
Update the kubernetes plugin from 1.24.1 to 1.25.1 and grant 'watch' permission to 'events' which is required since this plugin version.
Fixed a bug with jenkinsHome variable in range block when master.additionalConfig is set - Helm cannot evaluate field Values in type interface {}.
Add agent.podTemplates
option for declaring custom pod templates in the default configured kubernetes cloud.
The chart always tried to copy Configuration as Code configs even if there are none. That resulted in an error which is resolved with this.
In recent version of configuration-as-code-plugin this is no longer necessary.
Update JCasC auto-reload docs and remove stale ssh key references from version "1.8.0 JCasC auto reload works without ssh keys"
Fixed a bug in the configuration as code reload URL, where it wouldn't work with a jenkinsUriPrefix set.
Add master.jenkinsHome
and master.jenkinsRef
options to use docker images derivates from Jenkins
Add master.terminationGracePeriodSeconds
option
Update default plugins
Update docs for Helm 3
Make jenkins-home
attachable to Azure Disks without pvc
volumes:
- name: jenkins-home
azureDisk:
kind: Managed
diskName: myAKSDisk
diskURI: /subscriptions/<subscriptionID>/resourceGroups/MC_myAKSCluster_myAKSCluster_eastus/providers/Microsoft.Compute/disks/myAKSDisk
Fix PodLabel for NetworkPolicy to work if enabled
Properly fix case sense in Values.master.overwriteConfig
in config.yaml
Fix case sense in Values.master.overwriteConfig
in config.yaml
Scriptapprovals are overwritten when overwriteConfig is enabled
Added documentation for persistence.storageClass
.
Make master.deploymentAnnotation
configurable.
Make agent.slaveConnectTimeout
configurable: by increasing this value Jenkins will not cancel&ask k8s for a pod again, while it's on ContainerCreating
. Useful when you have big images or autoscaling takes some time.
plugin | old version | new version |
---|---|---|
kubernetes | 1.18.2 | 1.21.2 |
workflow-job | 2.33 | 2.36 |
credentials-binding | 1.19 | 1.20 |
git | 3.11.0 | 4.0.0 |
configuration-as-code | 1.27 | 1.32 |
Enables jenkins to use keystore inorder to have native ssl support #17790 https://wiki.jenkins.io/pages/viewpage.action?pageId=135468777
Manage Jenkins
-> Configure Global Security
-> Enable Agent → Master Access Control
is now enabled via configuration as code plugin
Google application credentials are kept in a file, which has to be mounted to a pod. You can set gcpcredentials
in existingSecret
as follows:
existingSecret:
jenkins-service-account:
gcpcredentials: application_default_credentials.json
Helm template then creates the necessary volume mounts and GOOGLE_APPLICATION_CREDENTIALS
environmental variable.
JAVA_OPTS
when config auto-reload is enabledkubernetes-credentials-provider-plugin needs permissions to get/watch/list kubernetes secrets in the namespaces where Jenkins is running.
The necessary role binding can be created using rbac.readSecrets
when rbac.create
is true
.
To quote from the plugin documentation:
Because granting these permissions for secrets is not something that should be done lightly it is highly advised for security reasons that you both create a unique service account to run Jenkins as, and run Jenkins in a unique namespace.
Therefor this is disabled by default.
Revert fix in 1.7.10
since direct connection is now disabled by default.
Add master.schedulerName
to allow setting a Kubernetes custom scheduler
We make use of the fact that the Jenkins Configuration as Code Plugin can be triggered via http POST
to JENKINS_URL/configuration-as-code/reload
and a pre-shared key.
The sidecar container responsible for reloading config changes is now kiwigrid/k8s-sidecar:0.1.20
instead of it's fork shadwell/k8s-sidecar
.
References:
master.sidecars.configAutoReload.enabled
now works using casc.reload.token
Disable direct connection in default configuration (when kubernetes plugin version >= 1.20.2).
Note: In case direct connection is going to be used jenkins/jnlp-slave
needs to be version 3.35-5
or newer.
Prevented Jenkins Setup Wizard on new installations
Extend extraPorts to be opened on the Service object, not just the container.
Add persistentvolumeclaim permission to the role to support new dynamic pvc workspaces.
Updated master.slaveKubernetesNamespace
to parse helm templates.
Defined an sensible empty value to the following variables, to silence invalid warnings:
Fixed an issue where the JCasC won't run if JCasC auto-reload is enabled issue #17135
Comments out JCasC example of jenkins.systemMessage so that it can be used by end users. Previously, an attempt to set systemMessage causes Jenkins to startup, citing duplicate JCasC settings for systemMessage issue #13333
Update kubernetes-plugin to version 1.18.2 which fixes frequently encountered JENKINS-59000
Update the default requirements for jenkins-agent to 512Mi which fixes frequently encountered issue #3723
Jenkins Configuration as Code Plugin default configuration can now be enabled via master.JCasC.defaultConfig
.
JCasC default configuration includes:
master.jenkinsAdminEmail
agent.containerCap
agent.alwaysPullImage
agent.image:agent.imageTag
.agent.sideContainerName
.agent.privileged
agent.resources.limits.cpu
agent.resources.limits.memory
agent.resources.requests.cpu
agent.resources.requests.memory
agent.TTYEnabled
agent.idleMinutes
.agent.imagePullSecretName
agent.podRetention
agent.yamlTemplate
Example values.yaml
which enables JCasC, it's default config and configAutoReload:
master:
JCasC:
enabled: true
defaultConfig: true
sidecars:
configAutoReload:
enabled: true
add master.JCasC.defaultConfig and configure location
JCasC configuration is stored in template jenkins.casc.defaults
so that it can be used in config.yaml
and jcasc-config.yaml
depending on if configAutoReload is enabled or not
Jenkins Location (URL) is configured to provide a startin point for the config
Print error message when master.sidecars.configAutoReload.enabled
is true
, but the admin user can't be found to configure the SSH key.
Add support for Google Cloud Storage for backup CronJob (migrating from nuvo/kube-tasks to maorfr/kube-tasks)
Fixed a warning when sidecar resources are provided through a parent chart or override values
Fixed an issue when master.enableXmlConfig is set to false: Always mount jenkins-secrets volume if secretsFilesSecret is set (#16512)
added initial changelog (#16324)
commit: cee2ebf98
enable xml config misspelling (#16477)
commit: a125b99f9
Jenkins master label (#16469)
commit: 4802d14c9
add option enableXmlConfig (#16346)
commit: 387d97a4c
extracted "jenkins.URL" into template (#16347)
commit: f2fdf5332
Fix backups when deployment has custom name (#16279)
commit: 16b89bfff
Ability to set custom namespace for ServiceMonitor (#16145)
commit: 18ee6cf01
update Jenkins plugins to fix security issue (#16069)
commit: 603cf2d2b
Use fixed container name (#16068)
commit: b3e4b4a49
Provide default job value (#15963)
commit: c462e2017
Add Jenkins backendconfig values (#15471)
commit: 7cc9b54c7
Change the value name for docker image tags - standartise to helm preferred value name - tag; this also allows auto-deployments using weaveworks flux (#15565)
commit: 5c3d920e7
jenkins deployment port should be target port (#15503)
commit: 83909ebe3
Add support for namespace specification (#15202)
commit: e773201a6
Adding sub-path option for scraping (#14833)
commit: e04021154
Add existingSecret to Jenkins backup AWS credentials (#13392)
commit: d9374f57d
Fix JCasC version (#14992)
commit: 26a6d2b99
Update affinity for a backup cronjob (#14886)
commit: c21ed8331
only install casc support plugin when needed (#14862)
commit: a56fc0540
DNS Zone customization (#14775)
commit: da2910073
only render comment if configAutoReload is enabled (#14754)
commit: e07ead283
update plugins to latest version (#14744)
commit: 84336558e
add example for EmptyDir volume (#14499)
commit: cafb60209
check if installPlugins is set before using it (#14168)
commit: 1218f0359
Support servicemonitor and alerting rules (#14124)
commit: e15a27f48
Fix: healthProbe timeouts mapping to initial delay (#13875)
commit: 825b32ece
Properly handle overwrite config for additional configs (#13915)
commit: 18ce9b558
update maintainer (#13897)
commit: 223002b27
add apiVersion (#13795)
commit: cd1e5c35a
allow changing of the target port to support TLS termination sidecar (#13576)
commit: a34d3bbcc
fix wrong pod selector in jenkins-backup (#13542)
commit: b5df4fd7e
allow templating of customInitContainers (#13536)
commit: d1e1421f4
fix #13467 (wrong deprecation message) (#13511)
commit: fbe28fa1c
Correct customInitContainers Name example. (#13405)
commit: 6c6e40405
fix master.runAsUser, master.fsGroup examples (#13389)
commit: 2d7e5bf72
Ability to specify raw yaml template (#13319)
commit: 77aaa9a5f
correct NOTES.txt - use master.ingress.hostname (#13318)
commit: b08ef6280
explain how to upgrade major versions (#13273)
commit: e7617a97e
Add support for idleMinutes and serviceAccount (#13263)
commit: 4595ee033
Use same JENKINS_URL no matter if slaves use different namespace (#12564)
commit: 94c90339f
fix deprecation checks (#13224)
commit: c7d2f8105
Fix issue introduced in #13136 (#13232)
commit: 0dbcded2e
fix chart errors (#13197)
commit: 692a1e3da
correct selector for jenkins pod (#13200)
commit: 4537e7fda
Fix rendering of customInitContainers and lifecycle for Jenkins helm chart (#13189)
commit: e8f6b0ada
Add support for openshift route in jenkins (#12973)
commit: 48c58a430
helm chart best practices (#13136)
commit: b02ae3f48
As a result of the label changes also the selectors of the deployment have been updated. Those are immutable so trying an updated will cause an error like:
Error: Deployment.apps "jenkins" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/component":"jenkins-master", "app.kubernetes.io/instance":"jenkins"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
In order to upgrade, delete the Jenkins Deployment before upgrading:
kubectl delete deploy jenkins
Allow to override jenkins location protocol (#12257)
commit: 18a830626
Add possibility to add custom init-container and lifecycle for master-container (#13062)
commit: 14d043593
Support priorityClassName
on Master Deployment (#13069)
commit: e896c62bc
Add support for service account annotations in jenkins (#12969)
commit: b22774e2f
fix: add hostName to ingress in values.yaml (#12946)
commit: 041045e9b
Update to match actual defaults in value.yaml (#12904)
commit: 73b6d37eb
Support multiple Jenkins instances in same namespace (#12748)
commit: 32ff2f343
Fix wrong comment in values.yaml (#12761)
commit: 9db8ced23
Re-add value for Ingress API Version (#12753)
commit: ecb7791b5
allow templating of volumes (#12734)
commit: adbda2ca6
Fix self-introduced whitespace bug (#12528)
commit: eec1678eb
Add flag to overwrite jobs definition from values.yaml (#12427)
commit: fd349b2fc
Replace OwnSshKey with AdminSshKey (#12140) (#12466)
commit: 80a8c9eb6
add note for breaking changes (#12203)
commit: e779c5a54
Allow Jenkins to run with READONLYROOTFS psp (#12338)
commit: 7c419e191
Jenkins OverwriteConfig setting also overwrites init scripts (#9468)
commit: 501335b76
Fix typo on hostname variable (#12156)
commit: 3d337d8dd
Allow ingress without host rule (#11960)
commit: ddc966d1e
Improve documentation - clarify that rbac is needed for autoreload (#11739)
commit: 9d75a5c34
use object for rollingUpdate (#11909)
commit: cb9cf21e8
Add hostAliases (#11701)
commit: 0b89e1094
Fix slave jnlp port always being reset when container is restarted (#11685)
commit: d7d51797b
add ingress Hostname an ApiVersion to docs (#11576)
commit: 4d3e77137
Support custom master pod labels in deployment (#9714) (#11511)
commit: 9de96faa0
Fix Markdown syntax in README (#11496)
commit: a32221a95
Added custom labels on jenkins ingress (#11466)
commit: c875d2b9b
fix typo in default jenkins agent image fixes #11356 (#11463)
commit: 30adb9a91
fix incorrect Deployment when using sidecars (#11413)
commit: 362b4cef8
commit: 49cb72055
Option to expose the slave listener port as host port (#11187)
commit: 2f85a9663
Updating Jenkins deployment fails appears rollingUpdate needs to be (#11166)
commit: 07fc9dbde
Merge Sidecard configs (#11339)
commit: 3696090b9
Add option to overwrite plugins (#11231)
commit: 0e9aa00a5
Added slave Pod env vars (#8743)
commit: 1499f6608
revert indentation to previous working version (#11293)
commit: 61662f17a
allow running sidecar containers for Jenkins master (#10950)
commit: 9084ce54a
Indent lines related to EnableRawHtmlMarkupFormatter (#11252)
commit: 20b310c08
Jenkins Configuration as Code (#9057)
commit: c3e8c0b17
Allow to enable OWASP Markup Formatter Plugin (#10851)
commit: 9486e5ddf
Fixes #1341 -- update Jenkins chart documentation (#10290)
commit: 411c81cd0
Quoted JavaOpts values (#10671)
commit: 926a843a8
Support custom labels in deployment (#9714) (#10533)
commit: 3e00b47fa
separate test resources (#10597)
commit: 7b7ae2d11
allow customizing livenessProbe periodSeconds (#10534)
commit: 3c94d250d
Add role kind option (#8498)
commit: e791ad124
workaround for busybox's cp (Closes: #10471) (#10497)
commit: 0d51a4187
fix parsing java options (#10140)
commit: 9448d0293
Fix job definitions in standard values.yaml (#10184)
commit: 6b6355ae7
add numExecutors as a variable in values file (#10236)
commit: d5ea2050f
various (#10223)
commit: e17d2a65d
add backup cronjob (#10095)
commit: 863ead8db
add namespace flag for port-forwarding in jenkins notes (#10399)
commit: 846b589a9
266f9d839
Add subPath for jenkins-home mount (#9671)
commit: a9c76ac9b
update readme to indicate the correct image that is used by default (#9915)
commit: 6aba9631c
Add ability to manually set Jenkins URL (#7405)
commit: a0178fcb4
Make AuthorizationStrategy configurable (#9567)
commit: 06545b226
Update Jenkins public chart (#9296)
commit: 4e5f5918b
allow to override jobs (#9004)
commit: dca9f9ab9
Simple implementation of the option to define the ingress path to the jenkins service (#8101) commit: 013159609
Cosmetic change to remove necessity of changing "appVersion" for every new LTS release (#8866)
commit: f52af042a
Added ExtraPorts to open in the master pod (#7759)
commit: 78858a2fb
Fix component label in NOTES.txt ... (#8300)
commit: c5494dbfe
Kubernetes 1.9 support as well as automatic apiVersion detection (#7988)
commit: 6853ad364
Respect SlaveListenerPort value in config.xml (#7220)
commit: 0a5ddac35
Allow replacement of Jenkins config with configMap. (#7450)
commit: c766da3de
Add option to allow host networking (#7530)
commit: dc2eeff32
add custom jenkins labels to the build agent (#7167)
commit: 3ecde5dbf
Move kubernetes and job plugins to latest versions (#7438)
commit: 019e39456
Add different Deployment Strategies based on persistence (#6132)
commit: e0a20b0b9
avoid lint errors when adding Values.Ingress.Annotations (#7425)
commit: 99eacc854
bump appVersion to reflect new jenkins lts release version 2.121.3 (#7217)
commit: 296df165d
Configure kubernetes plugin for including namespace value (#7164)
commit: c0dc6cc48
make pod retention policy setting configurable (#6962)
commit: e614c1033
Update plugins version (#6988)
commit: bf8180018
Add Master.AdminPassword in README (#6987)
commit: 13e754ad7
Added jenkins location configuration (#6573)
commit: 79de7026c
use generic env var, not oracle specific env var (#6116)
commit: 6084ab4a4
Allow to specify resource requests and limits on initContainers (#6723)
commit: 942a33b1a
Added support for NodePort service type for jenkens agent svc (#6571)
commit: 89a213c2b
Added ability to configure multiple LoadBalancerSourceRanges (#6243)
commit: 01604ddbc
Removing ContainerPort configuration as at the moment it does not work when you change this setting (#6411)
commit: e1c0468bd
Fix jobs parsing for configmap by adding toYaml to jobs.yaml template (#3747)
commit: b2542a123
add jenkinsuriprefix in healthprobes (#5737)
commit: 435d7a7b9
Added the ability to switch from ClusterRoleBinding to RoleBinding. (#6190)
commit: dde03ede0
Make jenkins master pod security context optional (#6122)
commit: 63653fd59
Rework resources requests and limits (#6077) (#6077)
commit: e738f99d0
Add jenkins master pod annotations (#6313)
commit: 5e7325721
Split Jenkins readiness and liveness probe periods (#5704)
commit: fc6100c38
fix typo in jenkins README (#5228)
commit: 3cd3f4b8b
Inherit existing plugins from Jenkins image (#5409)
commit: fd93bff82
Allow NetworkPolicy.ApiVersion and Master.Ingress.ApiVersion to Differ (#5103)
commit: 78ee4ba15
Secure Defaults (#5026)
commit: 0fe90b520
Wait for up to 2 minutes before failing liveness check (#5161)
commit: 2cd3fc481
correct ImageTag setting (#4371)
commit: 8ea04174d
Update jenkins/README.md (#4559)
commit: d4e6352dd
Bump appVersion (#4177)
commit: 605d3d441
Master.InitContainerEnv: Init Container Env Vars (#3495)
commit: c64abe27d
Allow more configuration of Jenkins agent service (#4028)
commit: fc82f39b2
Add affinity settings (#3839)
commit: 64e82fa6a
bump test timeouts (#3886)
commit: cd05dd99c
Add OWNERS to jenkins chart (#3881)
commit: 1c106b9c8
Add fullnameOverride support (#3705)
commit: ec8080839
Update README.md (#3638)
commit: f6d274c37
Lower initial healthcheck delay (#3463)
commit: 9b99db67c
Provision credentials.xml, secrets files and jobs (#3316)
commit: d305c5961
fix the default value for nodeUsageMode. (#3299)
commit: b68d19516
Recreate pods when CustomConfigMap is true and there are changes to the ConfigMap (which is how the vanilla chart works) (#3181)
commit: 86d29f804
Optionally adds liveness and readiness probes to jenkins (#3245)
commit: 8b9aa73ee
Feature/run jenkins as non root user (#2899)
commit: 8918f4175
template the version to keep them synced (#3084)
commit: 35e7fa49a
Update Chart.yaml
commit: e3e617a0b
Merge branch 'master' into jenkins-test-timeout
commit: 9a230a6b1
Double retry count for Jenkins test
commit: 129c8e824
Jenkins: Update README | Master.ServiceAnnotations (#2757)
commit: 6571810bc
Update Jenkins images and plugins (#2496)
commit: 2e2622682
Updating to remove the .lock
directory as well (#2747)
commit: 6e676808f
Use variable for service port when testing (#2666)
commit: d044f99be
Review jenkins networkpolicy docs (#2618)
commit: 49911e458
Add image pull secrets to jenkins templates (#1389)
commit: 4dfae21fd
Added persistent volume claim annotations (#2619)
commit: ac9e5306e
Fix failing CI lint (#2758)
commit: 26f709f0e
namespace defined templates with chart name (#2140)
commit: 408ae0b3f
added useSecurity and adminUser to params (#1903)
commit: 39d2a03cd
Use storageClassName for jenkins. (#1997)
commit: 802f6449b
Remove old plugin locks before installing plugins (#1746)
commit: 6cd7b8ff4
promote initContainrs to podspec (#1740)
commit: fecc804fc
add optional LoadBalancerIP option. (#1568)
commit: d39f11408
Fix bad key in values.yaml (#1633)
commit: dc27e5af3
Update Jenkins to support node selectors for agents. (#1532)
commit: 4af5810ff
Add support for supplying JENKINS_OPTS and/or uri prefix (#1405)
commit: 6a331901a
Add serviceAccountName to deployment (#1477)
commit: 0dc349b44
Remove path from ingress specification to allow other paths (#1599)
commit: e727f6b32
Update git plugin to 3.4.0 for CVE-2017-1000084 (#1505)
commit: 03482f995
Use consistent whitespace in template placeholders (#1437)
commit: 912f50c71
add configurable service annotations #1234 (#1244)
commit: 286861ca8
Jenkins v0.8.0 (#1385)
commit: 0009a2393
Use imageTag as version in config map (#1333)
commit: e8bb6ebb4
Add NetworkPolicy to Jenkins (#1228)
commit: 572b36c6d
copy over plugins.txt in case of update (#1222)
commit: 75b5b1174
add jmx option (#964)
commit: 6ae8d1945
update jenkins to latest LTS 2.46.3 (#1182)
commit: ad90b4c27
Update chart maints to gh u/n (#1107)
commit: f357b77ed
Add Agent.Privileged option (#957)
commit: 2cf4aced2
Upgrade jenkins to 2.46.2 (#971)
commit: 41bd742b4
Smoke test for Jenkins Chart (#944) commit: 110441054
removed extra space from hardcoded password (#925)
commit: 85a9b9123
move config to init-container allowing use of upstream containers (#921)
commit: 1803c3d33
add ability to toggle jnlp-agent podTemplate generation (#918)
commit: accd53203
Jenkins add script approval (#916)
commit: c1746656e
Update Jenkins to Latest LTS fixes #731 (#733)
commit: e9a3aed8b
Added option to add Jenkins init scripts (#617)
commit: b889623d0
Add existing PVC (#716)
commit: 05271f145
use Master.ServicePort in config.xml (#769)
commit: f351f4b16
Added option to disable security on master node (#403)
commit: 3a6113d18
Added: extra mount points support for jenkins master (#474)
commit: fab0f7eb1
fix storageclass config typo (#548)
commit: 6fc0ff242
Changed default value of Kubernetes Cloud name to match one in kubernetes plugin (#404)
commit: 68351304a
Add support for overriding the Jenkins ConfigMap (#524)
commit: f97ca53b1
Added jenkins-master ingress support (#402)
commit: d76a09588
Change description (#553)
commit: 91f5c24e1
Removed default Persistence.StorageClass: generic (#530)
commit: c87494c10
Update to the recommended pvc patterns. (#448)
commit: a7fc595aa
Remove helm.sh/created annotations (#505)
commit: f380da2fb
add support for explicit NodePort on jenkins chart (#342)
commit: f63c188da
Add configurable loadBalancerSourceRanges for jenkins chart (#360)
commit: 44007c50e
Update Jenkins version to current LTS (2.19.4) and Kubernetes Plugin to 0.10 (#341)
commit: 6c8678167
Add imagePullPolicy to init container (#295)
commit: 103ee1952
bump chart version with PVC metadata label additions
commit: 4aa9cf5b1
removed *
from jenkins/templates/NOTES.txt
commit: 76212230b
apply standard metadata labels to PVC's
commit: 58b730836
specify namespace in kubectl get svc
commands in NOTES.txt
commit: 7d3287e81
Update Jenkins version to current LTS (#194)
commit: 2c0404049
escape fixed
commit: 2026e1d15
.status.loadBalancer.ingress[0].ip is empty in AWS
commit: 1810e37f4
.status.loadBalancer.ingress[0].ip is empty in AWS
commit: 3cbd3ced6
Remove 'Getting Started:' from various NOTES.txt. (#181)
commit: 2f63fd524
docs(*): update READMEs to reference chart repos (#119)
commit: c7d1bff05
Move first batch of PVC charts to stable
commit: d745f4879