是否有人成功配置 Teamcity 以从 GitHub 监控、提取和构建?
我似乎无法弄清楚如何在哪里以及如何为 Teamcity 配置 SSH 密钥。我在系统帐户下将 Teamcity 作为系统服务运行。那么 Teamcity 将其 SSH 配置存储在哪里呢?
编辑
为了让它工作,我需要阻止代理在系统帐户下运行。
是否有人成功配置 Teamcity 以从 GitHub 监控、提取和构建?
我似乎无法弄清楚如何在哪里以及如何为 Teamcity 配置 SSH 密钥。我在系统帐户下将 Teamcity 作为系统服务运行。那么 Teamcity 将其 SSH 配置存储在哪里呢?
编辑
为了让它工作,我需要阻止代理在系统帐户下运行。
好的...我让这个开始在我的 Windows 服务器上工作。以下是我配置TeamCity 4.5 Professional的步骤:
.BuildServer\plugins
我获得了“默认私钥”以与在 Windows 上以 SYSTEM 用户身份运行的代理一起工作。对我来说,答案是拥有身份文件
C:\Windows\SysWOW64\config\systemprofile\.ssh\id_rsa
而不是在
C:\Windows\System32\config\systemprofile\.ssh\id_rsa
您的问题是针对 SSH 的,但使用 TLS 上的 HTTP 肯定更容易、更快捷,因为 GitHub 和 TeamCity 现在都支持 HTTP 身份验证。此外,GitHub 还支持具有有限权限的个人 api 令牌,您可以根据自己的喜好进行配置,或者根据需要创建新用户。
请参阅下面的 TeamCity 设置图片。
从 TeamCity 8.1 开始,官方支持 SSH 密钥管理,请阅读此文档:https ://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management
对于私钥,用户名必须为空。
(这是对旧问题的最新答案)
我得到了与 github/gitlab 和 teamcity 7 一起使用的基于 ssh 的构建,如下所示:
登录到 teamcity 机器并使用 puttygen/ssh-keygen 生成 rsa 密钥对并将 openssh 密钥保存在合理的位置。(知道了 - 使用 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,它可以使用默认私钥来拉取您的源代码。
您可能需要像这样的第三方插件