【问题标题】:Is it possible to trigger different task for different changed files in bitbucket pipeline?是否可以为 bitbucket 管道中的不同更改文件触发不同的任务?
【发布时间】:2018-09-07 08:00:50
【问题描述】:

例如。

我的 repo 包含三个文件夹:“project1”“project2”和“core”。

当我更改“core”文件夹下的文件时,我想触发“npm run test Project1”和“npm run test project2”。

如果我更改了“project1”文件,我只想测试“project 1”。 如果我更改了“poject2” - 我只想测试“project2”。

我不想在单独的存储库中分离这个文件夹,或者使用 git 子模块和 subthrees。而且我不想每次都测试一切。

听说在teamcity里这样的任务叫触发器。

“bitbucket 管道”是否支持这种功能?

【问题讨论】:

    标签: configuration continuous-integration bitbucket bitbucket-pipelines


    【解决方案1】:

    我设法使用这样的自定义 bash 脚本来做到这一点:

    for DIFF in `git diff --name-only HEAD^1 HEAD`
    do
        FOLDER=`echo $DIFF | awk -F/ '{print $1}'`
        if [ $FOLDER = functions ]
        then
    
        fi
    done
    

    第一行给你一个列表,其中包含上次提交中更改的文件的路径,第三行就像一个 javascript 拆分,我用“/”字符分隔路径并获取第一部分它(这样我只是得到了差异的外部文件夹)最后我评估文件夹名称并相应地做一些事情,在这里你把你需要的所有条件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2022-07-19
      • 2015-07-15
      • 2012-06-02
      • 2022-01-06
      • 1970-01-01
      相关资源
      最近更新 更多