【问题标题】:Deploy via TeamCity from GitHub从 GitHub 通过 TeamCity 部署
【发布时间】:2015-09-26 20:17:06
【问题描述】:

我不熟悉使用TeamCity。我试图弄清楚如何从我的 private GitHub 存储库构建代码。为了尝试做到这一点,我做了以下事情。

已创建部署密钥

  1. 使用 PuttyGen 创建了新的 SSH 密钥。
  2. 为密钥提供密码。
  3. 将私钥保存为“private.ppk”。
  4. 将公钥保存为“public.pub”。
  5. 使用转换 -> 导出 OpenSSH 密钥将 OpenSSH 格式的密钥导出为“key.ssh”。

将部署密钥添加到 GitHub

  1. 何时项目 repo(即https://github.com//)
  2. 点击“设置”
  3. 单击“部署密钥”
  4. 点击“添加部署密钥”
  5. 在“添加部署密钥”中,输入“TeamCity”作为标题,并将 PuTTYGen 中的公钥复制并粘贴到“密钥”字段中。

在 TeamCity 中创建了我的项目

  1. VCS 类型:Git
  2. VCS 根名称:“项目主控”
  3. VCS 根 ID:“Project_Master”
  4. 获取网址:“git://github.com//.git
  5. 默认分支:“refs/heads/master”
  6. 身份验证方法:“上传的密钥”
  7. 用户名:“git”
  8. 上传的密钥:“key.ssh”(之前上传的)
  9. 密码:

当我点击“测试连接”时,我收到一个错误。错误是:

Test connection failed in <ProjectName> :: <BuildName>
Incorrect url git://git@github.com/<username>/<repo-name>.git: anonymous git url should not contain a username

如果我删除“用户名”字段,我会收到同样的错误。如果我将 Fetch URL 更改为 GitHub (https://github.com//.git) 中列出的 url,我会收到一条错误消息:

Test connection failed in <ProjectName> :: <BuildName>
List remote refs failed: org.eclipse.jgit.errors.TransportException: https://github.com/<username>/<repo-name>.git: not authorized

我做错了什么?

【问题讨论】:

    标签: git github teamcity


    【解决方案1】:

    您需要确保将公钥上传到 GitHub,然后在您的 TeamCity 实例中使用私钥。另外,SSH 密钥仅在使用ssh: 协议到 GitHub 时使用,而不是https: 协议。

    【讨论】:

    • 你是说FetchUrl应该是ssh://git@github.com/&lt;username&gt;/&lt;repo-name&gt;.git?假设我已经上传了密钥。
    • 是的 - ssh: 将使用私钥,http:https: 传输不会。
    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2011-12-10
    • 2021-04-29
    • 2022-01-14
    • 2015-09-23
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多