是否有人成功配置Teamcity来监控,提取和构建GitHub?
我似乎无法确定如何为Teamcity配置SSH密钥的位置和方式。我在系统帐户下运行Teamcity作为系统服务。那么Teamcity在哪里存储它的SSH配置呢?
修改
为了实现这一点,我需要阻止代理在系统帐户下运行。
答案 0 :(得分:27)
好的......我开始在我的Windows服务器上工作了。以下是我配置TeamCity 4.5 Professional的步骤:
.BuildServer\plugins
答案 1 :(得分:7)
我使用“默认私钥”来与在Windows上作为SYSTEM用户运行的代理一起使用。对我来说,答案是在
处拥有身份文件 C:\Windows\SysWOW64\config\systemprofile\.ssh\id_rsa
而不是
C:\Windows\System32\config\systemprofile\.ssh\id_rsa
答案 2 :(得分:4)
您的问题特定于SSH,但使用HTTP over TLS肯定更容易,更快,因为GitHub和TeamCity现在都支持HTTP身份验证。此外,GitHub还支持具有有限权限的personal api tokens,您可以根据自己的喜好进行配置,或者根据需要创建新用户。
请参阅我们的TeamCity设置下面的图片。
答案 3 :(得分:2)
自TeamCity 8.1以来,对SSH密钥管理有官方支持,请阅读以下文档:https://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management
答案 4 :(得分:1)
对于私钥,用户名必须为空。
答案 5 :(得分:1)
(这是旧问题的最新答案)
我使用基于ssh的构建与github / gitlab和teamcity 7一起工作:
登录teamcity机器并使用puttygen / ssh-keygen生成一个rsa密钥对,并将openssh密钥保存在合理的位置。 (Gotcha - 使用puttygen?确保私钥是openssh格式 - puttygen>转换>导出openssh密钥)
我建议您将私钥保存在
中C:\.ssh\id_rsa
现在在teamcity中设置“默认私钥” - 创建文件
C:\.ssh\config
并在其中放置:
Host * IdentityFile c:\.ssh\id_rsa
登录您的gitlab / guthub帐户并粘贴您的teamcity私钥的openssh公钥。
您现在应该可以在teamcity中创建一个git vcs root,它可以使用默认私钥来提取源。
答案 6 :(得分:0)
您可能需要第三方插件,例如this
答案 7 :(得分:0)