声明性 Jenkins Pielines 在 SCM 结帐前运行命令

arp*_*dri 3 jenkins jenkins-pipeline jenkins-declarative-pipeline

需要在 git checkout 通过管道代码开始之前运行命令。它类似于在 SCM 运行之前使用Run buildstep。提前致谢

小智 5

您需要在开始时使用选项以防止它先执行默认结帐,然后在您希望预先执行的初始步骤之后触发结帐。

所以在你的管道脚本中声明你的代理/工具安装/环境变量然后使用

options {
    skipDefaultCheckout true
}
Run Code Online (Sandbox Code Playgroud)

然后在一个阶段做你的准备步骤,例如

stage('Preparation') {
     steps {
          //Insert steps here
     }
}
Run Code Online (Sandbox Code Playgroud)

然后,您的下一阶段应该进行之前停止的结帐。这真的很简单

stage('Checkout') {
    steps {
         checkout scm
    }
}
Run Code Online (Sandbox Code Playgroud)

然后您可以继续您的正常步骤。我也花了一段时间才找到这个解决方案。我使用它首先检查另一个 repo 并读取它的标签以生成组合版本号。