RELEASED: Public: 2019-11-21
Resolved issues
-
Stop defining a default-java PodTemplate (CPLT2-6040)
CloudBees Jenkins Operations Center previously defined a Kubernetes shared cloud with a default-java pod template. This template was unnecessary and interfered with attempts to define Windows-based pods.
This has been addressed by removing the default-java pod template for new installations. configmap/jenkins-agent remains in place, but by default is not used.
To run builds on Kubernetes, a pod template is required (although it does not need to be set as a default). This pod template can be defined in Operations Center, via a managed controller, or through the pipeline podTemplate step.
IMPACT: Existing pipelines that consist of only a node step, and which do not have a default pod template defined in the Operations Center, managed controller or pipeline podTemplate step, may not execute. Existing installations should otherwise be unaffected.
INSTRUCTIONS:
To use Windows containers with a given pod, delete the default-java pod template.
To fix existing pipelines that are affected as described in IMPACT, modify the pipeline to add a pod template. For pipelines on managed controllers that have a default pod template defined,
For example,
node { <build happens here> }
can be restated aspodTemplate { node (POD_LABEL) { <build happens here>}}
.Pipelines with simple Linux commands can be wrapped in a podTemplate step and labeled with a POD_LABEL parameter. For example,
podTemplate {node(POD_LABEL) {sh 'cat /etc/os-release'}}
. For pipelines on managed controllers with a defined default pod template, only the addition of ('<default pod template label>') to the node step is required.