簡體   English   中英

circleCI - 當特定目錄發生變化時如何運行作業

[英]circleCI - How to run job when has change in specific directory

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

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

我只想在目錄發生更改時進行構建。

文件夾 a 的job a a 文件夾 b 的job b b

folder a更改時,僅構建job 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 git diff-tree --name-only $(git log -n 2 --pretty=format:"%H") | grep project

CircleCI 現在支持動態配置(而不是單個靜態配置文件),並且可以使用path-filtering orb 來檢測文件夾下的更改並相應地設置管道參數。

請參閱https://circleci.com/docs/2.0/using-dynamic-configuration/#execute-specific-workflows-or-steps-based-on-which-files-are-modified

您也可以查看我們的配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM