circleCI - 如何在特定目录中更改时运行作业

时间:2017-06-28 04:52:19

标签: github workflow pipeline git-diff circleci

我正在使用circleCI版本2和我的config.yml,如下所示:

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

我只想在目录中发生更改时进行构建。

文件夹a的

job a 文件夹b的job b

folder a更改时,仅构建job a

1 个答案:

答案 0 :(得分: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