How to use post steps with Jenkins pipeline on multiple agents?

后端 未结 2 1379
花落未央
花落未央 2020-12-13 19:38

When using the Jenkins pipeline where each stage runs on a different agent, it is good practice to use agent none at the beginning:

pipeline {
          


        
相关标签:
2条回答
  • 2020-12-13 20:19

    wrap the step that does the mailing in a node step:

    post {
      always {
        node('awesome_node_label') {
          step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "test@test.com", sendToIndividuals: true])
        }
      }
    }
    
    0 讨论(0)
  • 2020-12-13 20:26

    I know this is old but I stumbled on this looking for something related. If you want to run the post step on any node, you can use

        post {
          always {
            node(null) {
              step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "test@test.com", sendToIndividuals: true])
            }
          }
        }
    

    https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#node-allocate-node Says that the label may be left blank. Many times in a declarative pipeline if something is left blank this results in an error. To work around this, setting it to null will often work.

    0 讨论(0)
提交回复
热议问题