看完管道和Jenkinsfile文档后,我对如何创建
_舞台- >生产_管道感到困惑。
一种方法是使用input
类似
node() {
stage 'Build to Stage'
sh '# ...'
input 'Deploy to Production'
stage 'Build to Production'
sh '# ...'
}
这似乎有点笨拙,因为这将一直阻塞执行程序,直到您要部署到生产环境为止。Jenkins是否有其他任何可以部署到生产环境的方法。
编辑(2016年10月):请参阅下面的其他答案“使用里程碑并锁定”,其中包括最近引入的功能。
作为第一个选择,您可以将您的sh
步骤包装为一个timeout
步骤。
node() {
stage 'Build to Stage' {
sh '# ...'
}
stage 'Promotion' {
timeout(time: 1, unit: 'HOURS') {
input 'Deploy to Production?'
}
}
stage 'Deploy to Production' {
sh '# ...'
}
}
这将在超时后停止构建。
input
步骤来次最轻量级执行人另一种选择是不为该input
步骤分配重量级执行程序。您可以通过使用块input
外的步骤来执行此操作node
,如下所示:
stage 'Build to Stage' {
node {
sh "echo building"
stash 'complete-workspace'
}
}
stage 'Promotion' {
input 'Deploy to Production?'
}
stage 'Deploy to Production' {
node {
unstash 'complete-workspace'
sh "echo deploying"
}
}
这
就是
很可能是更优雅的方式,但仍然可以用组合timeout
的步骤。
编辑:@amuniz指出,您必须存储/取消存储工作区的内容,因为可能分别为这两个node
步骤分配了不同的节点工作区目录。
问题内容: 我有一棵divs树: 在div上单击时,将使其子级不可见-即单击“ a”将使“ b”和“ c”不可见。 问题是:单击“ b”将调用“ a”的单击,并使“ b”和“ c”不可见。如何使用jQuery禁用对“ a”的点击? 谢谢 问题答案: 您可以为孩子添加一个处理程序,以防止click事件蔓延: 这样一来,点击不会传播到。都不会单击以转到,因此也不会。
我对使用Selenium是新手,在Selenium Grid 2中使用RemoteWebDriver时遇到了一些问题。我想知道我的代码出了什么问题。谢谢 我分3步设置RemoteWebDriver: > 将Chrome驱动程序设置为系统属性,我检查了路径是否正确 设置功能 通过RemoteWebDriver打开驱动程序 结果通过前两步,但在最后一步失败,因为日志没有显示。似乎在设置RemoteWe
这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇。首先我们需要通过chmod命令,给程序可执行的许可,然后 运行 程序。 $ chmod a+x helloworld.py $ ./helloworld.py Hello World chmod命令用来 改变 文件的 模式 ,给系统中所有用户这个源文件的执行许可。然后我们可以直接通过指定源文件的位置来执
我最近在论坛上问了一个问题,为什么ExecutorService在获得期货后阻止了我的程序:ExecutorService和Future阻止了主线程 问题是,经过大量的调试,有罪的线不是未来。get()但是
在我的Espresso测试执行和AlertDialog会被提示并等待用户响应。Espresso测试只有在我按下“Accept”按钮但我想测试代替用户执行此事件时才会继续。 我注意到我的线程选项卡上有以下状态
返回的数据结构如下: 如上述代码加了IF判断,但是在浏览器中还是报错。 怎么阻止?