CircleCI - 如何在特定目录发生更改时运行作业

5

我正在使用 CircleCI 版本 2,我的 config.yml 如下:

version: 2
jobs:
   a:
     steps:...
   b:
     steps:...
workflows:
  version: 2
  main_pipeline:
    jobs:
       - a
       - b

我只想在目录发生更改时进行构建。 任务a 用于文件夹a 任务b 用于文件夹b
文件夹a 更改时,仅构建 任务a

也可以通过比较修订版本(HEAD 和子目录最后更改)来进行检查。 - diralik
2个回答

2
function trigger_job() {
    job_name=$1
    curl --user ${CIRCLE_API_TOKEN}: \
        --data build_parameters[CIRCLE_JOB]=$job_name \
        --data revision=$CIRCLE_SHA1 \
https://circleci.com/api/v1.1/project/github/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/tree/$CIRCLE_BRANCH

我使用这个函数来触发作业,并通过git-diff查找不同之处,就像这样:git diff-tree --name-only $(git log -n 2 --pretty=format:"%H") | grep project


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接