【发布时间】:2020-03-02 04:30:18
【问题描述】:
我们有一个 Azure Pipline 用于部署我们的代码。 (它与大数据有关)。
我们不需要每次都部署的任务很少。仅当某些文件已更改时,我们才需要这样做。所以我想跟随。
- 通过 git 命令检查特定文件是否在上次提交中被更改。
- 如果是这样,将特定变量设置为
true否则false - 现在,对于部署任务,使用
custom condition并检查上面的变量是否有true
问题
我无法执行git command,因为工件是从没有.git 目录的build pipeline 复制的。
我试图克隆一个 git 目录,但是,凭据的配置方式我无法克隆它。
有没有不同的方法来解决这个问题。
即仅当特定文件已更改时才在发布管道中执行某些任务。
【问题讨论】:
-
对您的预期解决方案的“最后一次提交”参数要小心。任何给定的构建都可以有任意数量的提交,我认为您不能只强制执行一个。您需要使用
git diff-tree --no-commit-id --name-only -r $change.id,其中$change是当前构建/发布的所有提交的迭代中的当前项。 -
嗨,最近怎么样?贝文的回答对你有帮助吗?如果是,您可以接受答案,因此其他 SO 用户将能够看到该解决方案是否有效。如果您仍然遇到一些问题,请随时在此处留下表扬 :-)
标签: azure azure-devops azure-pipelines