我正在使用gocd Continious delivery tool + git。我的项目由许多子项目组成。我不想在每次提交时重建所有子项目,因此为每个子项目创建了一个管道。我知道,对于每个管道,比如说project1,我必须选择合适的工作目录并像这样运行smth:
如何从触发当前版本的gocd获取提交?是否只是git&#39s的最新提交?对于许多并发提交,我最新的提交不是安全选项,这就是为什么我想直接从gocd获取它 - 我希望它为每个构建触发器事件存储它。 检测提交如何影响bash中的文件夹?
答案 0 :(得分:1)
正如您所说,您正在为每个子项目使用不同的管道。
对于快速黑客攻击,您可以在添加材料时使用“黑名单”字段。当提交中更改这些文件(在黑名单字段中输入)时,它基本上表示管道不触发(开始构建)。
我知道,这有点棘手,但如果你不经常更改子项目文件夹,这可以解决你的问题。
希望这会有所帮助:)
答案 1 :(得分:0)
检测提交如何影响bash中的文件夹?
您可以使用git diff --name-only
。
git diff --name-only <commit1> <commit2>
将列出两次提交之间已创建/修改/删除的文件。
git diff --name-only <commit1> <commit2> -- directory/path/
将列出directory/path/
答案 2 :(得分:0)
此处给出了部分答案(每个提交都写入某个环境变量)https://github.com/gocd/gocd/issues/2001