我有一个如下所示的管道:
pipeline {
agent none
stages {
stage('Build') {
agent any
steps { ... }
}
stage('Tests') {
parallel {
stages { ...}
}
}
post {
cleanup {
node {
[something heavyweight]
}
}
}
我的问题是我无法确定如何包装[something heavyweight]
。我试图通过在轻量级执行程序上运行管道来遵循最佳实践。我认为替代方案是在发布之前的一个阶段,该阶段由可以执行清除操作的重量级执行程序执行。但是然后,我需要某种方式来确定管道的总体通过/失败。 。 。直到您真正进入最后一篇文章之前,还不知道!
答案 0 :(得分:0)
我当前的解决方案是在主服务器上创建一个带有标签“ PIPELINE”的Jenkins从站,将其配置为仅运行带有该标签的作业,然后将该标签与管道中的顶级代理一起使用。有点烦人,因为无论如何总会从主服务器上的轻量级执行程序开始这项工作,但是我认为这会使资源减少以执行管道,同时保留了真正的重量级执行程序。
pipeline {
agent { label 'PIPELINE' }
stages {
stage('Build') {
agent any
steps { ... }
}
stage('Tests') {
parallel {
stages { ...}
}
}
post {
cleanup {
node {
[something heavyweight]
}
}
}