我在创建依赖于两个 git 存储库的 TeamCity 项目构建时遇到问题。特别是,主数据库中有依赖于共享存储库的内容。这并不理想,需要进行更改(也就是将所有共享组件推入 nuget),但首先要做的是。
构建机器需要两个同级结帐文件夹:“项目”和“共享”。然后,从“项目”文件夹中,我想启动一个 rake 任务。
Teamcity 似乎提取了第一个“项目”存储库,签出到 /work 文件夹,然后将其删除并用“共享”存储库中的签出替换它。
关于如何正确拉动的任何想法?
谢谢你,-史蒂夫
我发现我可以通过使用以下规则条目在存储库定义上设置 VCS 根“签出规则”来移动整个树:
+:.=>./Shared
该规则有效地表明“对于此存储库的根文件夹及其下的所有内容,将其全部移动到名为‘Shared’的文件夹下。
然后我对“项目”存储库执行相同的操作,将其移动到“项目”文件夹,我现在在构建时在工作区下设置了两个离散的同级文件夹。
我没有从你的问题中得到太多。我的理解是你在 2 个 repos 中有代码,你想把它们拉到一个文件夹中。在这种情况下,我会使用 git submodules 或 git subtree merge。
参考http://git-scm.com/book/en/Git-Tools-Submodules
子模块:第 6.6 章
子树合并:第 6.7 章