如何在声明性管道中等待用户输入而不会阻止重量级执行程序

如何在声明性管道中等待用户输入而不会阻止重量级执行程序,第1张

如何在声明性管道中等待用户输入而不会阻止重量级执行程序

请参阅最佳实践7:请勿:在节点块内使用输入。在声明性管道中,通过

agent
指令完成节点选择。

此处的文档描述了如何定义

none
管线,然后使用阶段
agent
指令在所需节点上运行阶段。我也尝试了相反的方法(在某个节点上定义一个全局代理,然后
none
在输入的阶段级上定义),但这不起作用。如果管道分配了一个从站,则不能在一个或多个特定阶段释放该从站。

这是我们管道的结构:

pipeline {  agent none  stages {    stage('Build') {      agent { label 'yona' }      steps {        ...      }    }    stage('Decide tag on Docker Hub') {      agent none      steps {        script {          env.TAG_ON_DOCKER_HUB = input message: 'User input required',   parameters: [choice(name: 'Tag on Docker Hub', choices: 'nonyes', description: 'Choose "yes" if you want to deploy this build')]        }      }    }    stage('Tag on Docker Hub') {      agent { label 'yona' }      when {        environment name: 'TAG_ON_DOCKER_HUB', value: 'yes'      }      steps {        ...      }    }  }}

通常,构建阶段在标记为“ yona”的构建从属服务器上执行,但是输入阶段在主服务器上运行。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5615041.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存