当前位置:  开发笔记 > 开发工具 > 正文

如何在git子模块中提交触发持续集成的构建?

如何解决《如何在git子模块中提交触发持续集成的构建?》经验,为你挑选了1个好方法。

我正在研究项目A,A依赖于快速开发的项目B(它的主分支).

因此,B是A的子模块,每次我建A,B也重建.此外,每次B有一个新的提交,我需要构建B,然后重新构建A.(幸运的是,项目足够小,所以编译时间并不重要).

现在,这就是重点.当项目A或B中有新的提交时,我想在Travis CI或其他持续集成服务中触发新的构建.

我刚试过Github&Travis CI.项目B中的提交不会触发项目A中的构建.是否有一种简单的方法来运行这种持续集成?



1> VonC..:

项目B中的提交不会触发项目A中的构建

考虑到B不知道A存在,这是预期的.

您需要通过以下操作记录项目A 的新B状态(新gitlink,索引中的特殊条目):

cd /path/to/projectA
git submodule update --remote
git add .
git commit -m "Record new B SHA1 gitlink"
git push

git submodule update --remote将子模块B更新.gitmodules为B文件中记录的分支的最新提交.
请参阅" git submodule tracking latest "和" Git子模块:指定分支/标记 "

然后将为A触发新的Travis构建.

如果你想自动化上面描述的序列,你需要一个用于projectB 的webhook(GitHub)(或BitBucket),以及一个本地监听器,它在repo B上的push事件中将触发前面提到的命令在本地repo中项目A.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有