End*_*nbo 8 git continuous-integration travis-ci
我正在研究项目A,A依赖于快速开发的项目B(它的主分支).
因此,B是A的子模块,每次我建A,B也重建.此外,每次B有一个新的提交,我需要构建B,然后重新构建A.(幸运的是,项目足够小,所以编译时间并不重要).
现在,这就是重点.当项目A或B中有新的提交时,我想在Travis CI或其他持续集成服务中触发新的构建.
我刚试过Github&Travis CI.项目B中的提交不会触发项目A中的构建.是否有一种简单的方法来运行这种持续集成?
项目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
Run Code Online (Sandbox Code Playgroud)
git submodule update --remote将子模块B更新.gitmodules为B文件中记录的分支的最新提交.
请参阅" git submodule tracking latest "和" Git子模块:指定分支/标记 "
然后将为A触发新的Travis构建.
如果你想自动化上面描述的序列,你需要一个用于projectB 的webhook(GitHub)(或BitBucket),以及一个本地监听器,它在repo B上的push事件中将触发前面提到的命令在本地repo中项目A.
| 归档时间: |
|
| 查看次数: |
3078 次 |
| 最近记录: |