Overview

The first time a user creates a build configuration using the Pipeline build strategy, OpenShift Container Platform looks for the a template named jenkins-ephemeral in the openshift namespace and instantiates it within the user’s project. The jenkins-ephemeral template that ships with OpenShift Container Platform creates, upon instantiation:

  • a deployment configuration for Jenkins using the official OpenShift Container Platform 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-pipeline (3)
  serviceName: jenkins-pipeline-svc (4)
  parameters: (5)
    key1: value1
    key2: value2
1 Defaults to false. 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, OpenShift Container Platform instantiates the jenkinsPipelineConfig template only if no existing service name in the project matches the serviceName field. This means serviceName must be chosen such that it is unique in the project.