35

是否有人成功配置 Teamcity 以从 GitHub 监控、提取和构建?

我似乎无法弄清楚如何在哪里以及如何为 Teamcity 配置 SSH 密钥。我在系统帐户下将 Teamcity 作为系统服务运行。那么 Teamcity 将其 SSH 配置存储在哪里呢?

编辑

为了让它工作,我需要阻止代理在系统帐户下运行。

4

8 回答 8

28

好的...我让这个开始在我的 Windows 服务器上工作。以下是我配置TeamCity 4.5 Professional的步骤:

  1. 下载了JetBrains Git VCS 插件
  2. 将下载的 zip 文件复制到.BuildServer\plugins
  3. 在 Administration > Edit Build Configuration > Edit VCS Root configuration 屏幕中,我选择了“Git (JetBrains)”
  4. 从 GitHub 项目页面输入我的 Clone Url
  5. 设置身份验证方法“默认私钥”——这很重要
    1. TeamCity BuildAgent 应该作为标准用户运行,并为该用户正确配置了 SSH 安装。
    2. 按照GitHub SSH 说明进行 SSH 配置
  6. 将用户名留空。这应该已经在您的 GitHub 克隆 URL 中提供
于 2009-05-01T20:14:48.740 回答
8

我获得了“默认私钥”以与在 Windows 上以 SYSTEM 用户身份运行的代理一起工作。对我来说,答案是拥有身份文件

C:\Windows\SysWOW64\config\systemprofile\.ssh\id_rsa

而不是在

C:\Windows\System32\config\systemprofile\.ssh\id_rsa

于 2012-12-13T22:34:10.453 回答
4

您的问题是针对 SSH 的,但使用 TLS 上的 HTTP 肯定更容易、更快捷,因为 GitHub 和 TeamCity 现在都支持 HTTP 身份验证。此外,GitHub 还支持具有有限权限的个人 api 令牌,您可以根据自己的喜好进行配置,或者根据需要创建新用户。

请参阅下面的 TeamCity 设置图片。

团队城市配置

于 2015-01-16T21:56:49.513 回答
2

从 TeamCity 8.1 开始,官方支持 SSH 密钥管理,请阅读此文档:https ://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management

于 2015-10-07T11:42:16.790 回答
1

对于私钥,用户名必须为空。

于 2012-01-21T03:39:20.007 回答
1

(这是对旧问题的最新答案)

我得到了与 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,它可以使用默认私钥来拉取您的源代码。

于 2014-01-03T16:12:14.203 回答
0

您可能需要像这样的第三方插件

于 2009-04-28T12:18:00.083 回答
0

我不知道为什么,但选择Default Private Key对我来说失败了。

然后我选择Custom Private Key如下截图: 在此处输入图像描述

Username字段必须为空。

Passphrase字段是您的私钥的密码

(假设您已经在 git 中添加了此私钥的公钥。)

希望没有人像我一样被卡住!

于 2016-04-12T07:23:02.557 回答