将SVN子回购添加到Mercurial后出现TeamCity错误
我将SVN项目作为子存储库添加到Mercurial项目中(按照说明),现在TeamCity无法构建Mercurial项目。我得到以下错误:将SVN子回购添加到Mercurial后出现TeamCity错误,svn,mercurial,teamcity,mercurial-subrepos,Svn,Mercurial,Teamcity,Mercurial Subrepos,我将SVN项目作为子存储库添加到Mercurial项目中(按照说明),现在TeamCity无法构建Mercurial项目。我得到以下错误: [Updating sources] Failed to build patch for build #???, VCS root: "mercurial: https://myrepo" {instance id=41, parent internal id=22, parent id=mercurial_repo_id, description: "me
[Updating sources] Failed to build patch for build #???, VCS root: "mercurial: https://myrepo" {instance id=41, parent internal id=22, parent id=mercurial_repo_id, description: "mercurial: https://myrepo"}, due to error: Cannot build patch: ClientAbortException: java.io.IOException
[Updating sources] Problem while loading patch data stream: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)
Problem while loading patch data stream: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)
java.io.IOException: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)
当我在本地克隆回购协议时,一切正常,但TeamCity没有看到子回购协议,并且在变化图中也没有子回购协议。我尝试添加不同的构建步骤,但没有帮助。我还尝试将TeamCity中的VCS签出模式更改为代理签出,但由于自签名证书,出现了另一个错误:
Failed to perform checkout on agent: 'hg --config ui.interactive=False clone -U --uncompressed https://...' command failed.
stderr: abort: could not find web.cacerts: /etc/ssl/ca-bundle.pem
但是,签出模式不应该是错误的原因,因为此类问题已在TeamCity的8版本中得到解决(我们使用8.0.6)
我应该如何配置TeamCity在Mercurial回购中与SVN subrepo合作
谢谢
UPD:
我终于找到了答案:我认为在代理上执行签出时需要修复错误(添加证书或强制其信任所有人),问题解决了 我没有对SVN subrepos进行过此操作,但我对hg subrepos进行过此操作,但诀窍是teamcity server的hgrc文件需要配置为静默获取SVN repo,因此您可能需要提供身份验证信息,也可能需要信任hgrc文件中的证书 SVN回购协议也添加到TeamCity,因此TeamCity拥有认证信息。这还不够吗?如果没有,这个文件在哪里?不幸的是,我不擅长TeamCity管理。这里的诀窍是TC不签出SVN回购,HG客户端是,它无法访问TC。另一种方法是跳过子回购,直接将SVN回购添加到TeamCity项目中。这可能会失去hg subs拥有的“在特定修订时修复”功能。请分享您的经验,并提供一系列让TeamCity检测subrepos的步骤。如果我找不到解决方法,我将放弃subrepos,但我希望有一个解决方案