Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-42315

PodTemplate is now mandatory within pipeline

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Before version 0.11
      We were able to declare in the global jenkins configuration a PodTemplate with containers.

      Here an simple pipeline example that was working with a global PodTemplate with 0.10

      stage("Example"){
            node("mypod"){
                container("golang"){
                sh '''
                  echo "something"
                '''
              }
           }
      }
      

      With 0.11 we get an error:

      org.jenkinsci.plugins.workflow.steps.MissingContextVariableException: Required context class org.csanchez.jenkins.plugins.kubernetes.pipeline.PodTemplateStep is missing
      

      It is now (with 0.11) mandatory to have the PodTemplate and containers declare within the pipeline to be able to make the Ā«containerĀ» step work again.

        Attachments

          Activity

          Hide
          tjdziuba Theodore Dziuba added a comment -

          I am seeing this issue too, with globally configured PodTemplates. As a workaround, I have modified my pipelines like this:

          // Before 0.11, using a global PodTemplate named "mypod":
          node("mypod") {
            stage("Build") {
              container("code-builder") {
                // build steps elided
              }
            }
          }

          With the upgrade to 0.11, add a podTemplate declaration to the top, referencing the global PodTemplate:

          // Using 0.11, global PodTemplate named "mypod":
          podTemplate(name: "mypod") {
            node("mypod") {
              stage("Build") {
                container("code-builder") {
                  // build steps elided
                }
              }
            }
          }

          It's unfortunate that 0.11 introduces a breaking API change.

          Show
          tjdziuba Theodore Dziuba added a comment - I am seeing this issue too, with globally configured PodTemplates. As a workaround, I have modified my pipelines like this: // Before 0.11, using a global PodTemplate named "mypod" : node( "mypod" ) { stage( "Build" ) { container( "code-builder" ) { // build steps elided } } } With the upgrade to 0.11, add a podTemplate declaration to the top, referencing the global PodTemplate: // Using 0.11, global PodTemplate named "mypod" : podTemplate(name: "mypod" ) { node( "mypod" ) { stage( "Build" ) { container( "code-builder" ) { // build steps elided } } } } It's unfortunate that 0.11 introduces a breaking API change.
          Show
          csanchez Carlos Sanchez added a comment - Fixed in https://github.com/jenkinsci/kubernetes-plugin/pull/148
          Hide
          tjdziuba Theodore Dziuba added a comment -

          Awesome, thank you Carlos! You work on the k8s plugin has streamlined and simplified a lot of things for my company, and for others I'm sure.

          Show
          tjdziuba Theodore Dziuba added a comment - Awesome, thank you Carlos! You work on the k8s plugin has streamlined and simplified a lot of things for my company, and for others I'm sure.

            People

            • Assignee:
              csanchez Carlos Sanchez
              Reporter:
              pascallap Pascal Laporte
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: