$ oc edit template jenkins-ephemeral -n openshift
The first time a user creates a build configuration using the
Pipeline
build strategy, OKD looks for a template named
jenkins-ephemeral
in the openshift
namespace and instantiates it within
the user’s project. The jenkins-ephemeral
template that ships with
OKD creates, upon instantiation:
a deployment configuration for Jenkins using the official OKD Jenkins image
a service and route for accessing the Jenkins deployment
a new Jenkins service account
rolebindings to grant the service account edit access to the project
Cluster administrators can control what is created by either modifying the content of the built-in template, or by editing the cluster configuration to direct the cluster to a different template location.
To modify the content of the default template:
$ oc edit template jenkins-ephemeral -n openshift
To use a different template, such as the jenkins-persistent
template which uses persistent
storage for Jenkins, add the following to your master configuration file:
jenkinsPipelineConfig:
autoProvisionEnabled: true (1)
templateNamespace: openshift (2)
templateName: jenkins-persistent (3)
serviceName: jenkins-persistent-svc (4)
parameters: (5)
key1: value1
key2: value2
1 | Defaults to true if unspecified.
If false , then no template will be instantiated. |
2 | Namespace containing the template to be instantiated. |
3 | Name of the template to be instantiated. |
4 | Name of the service to be created by the template upon instantiation. |
5 | Optional values to pass to the template during instantiation. |
When a Pipeline build configuration is created, OKD looks for a
service matching serviceName
. This means serviceName
must be chosen
such that it is unique in the project. If no service is found, OKD
instantiates the jenkinsPipelineConfig
template. If this is not desirable
(if you would like to use a Jenkins server external to OKD, for
example), there are a few things you can do, depending on who you are.
If you are a cluster administrator, simply set autoProvisionEnabled
to false
.
This will disable autoprovisioning across the cluster.
If you are an unpriviledged user, a service must be created for OKD
to use. The service name must match the cluster configuration value of
serviceName
in the jenkinsPipelineConfig
. The default value is
jenkins
. If you are disabling autoprovisioning because you are running a
Jenkins server outside your project, it is recommended that you point this new
service to your existing Jenkins server. See:
Integrating External services
The latter option could also be used to disable autoprovisioning in select projects only.