我正在使用 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
。我正在使用 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
。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
path-filtering
的orb来检测文件夹下的更改,并相应地设置流水线参数。详情请见:https://circleci.com/docs/2.0/using-dynamic-configuration/#execute-specific-workflows-or-steps-based-on-which-files-are-modified。另外,你还可以查看我们的配置文件。