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.

          [JENKINS-42315] PodTemplate is now mandatory within pipeline

          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.

          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.

          Carlos Sanchez added a comment - Fixed in https://github.com/jenkinsci/kubernetes-plugin/pull/148

          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.

          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.

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

              Created:
              Updated:
              Resolved: