【发布时间】:2020-10-30 21:19:24
【问题描述】:
我在这里不合群,所以如果这很难理解,请原谅我。我想要完成的是在我的 Jenkinsfile 设置中的拉取请求期间检查某个目录中是否有任何文件发生更改。如果与develop 分支相比,有文件发生了变化,我想运行特定阶段。这是一个声明性管道。举个例子吧:
stage('Publish Common Module') {
when {
// can I check if projects/common/ has any files that are different compared to develop?
// if so, then I want to run the steps in this stage
}
}
我不确定这是否为我想要完成的工作提供了足够的背景。这种设置的原因是,有多个阶段会根据该模块的 PR 中是否有更改来构建模块。
如果这些信息不足以获得准确的答案,我们深表歉意。
【问题讨论】:
-
你使用类似
git diff --name-only develop -
太棒了。唯一的问题是我如何有条件地检查这个,如果有差异,运行我需要运行的命令?