通过TeamCity从GitHub部署

时间:2015-07-08 18:30:50

标签: git github teamcity

我是使用TeamCity的新手。我试图弄清楚如何从我的私有 GitHub存储库构建代码。为了做到这一点,我做了以下几点。

创建了部署密钥

  1. 使用PuttyGen创建了一个新的SSH密钥。
  2. 给密钥一个密码。
  3. 将私钥保存为“private.ppk”。
  4. 将公钥保存为“public.pub”。
  5. 使用转化功能将OpenSSH格式的密钥导出为“key.ssh” - >导出OpenSSH密钥。
  6. 向GitHub添加了部署密钥

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

      1. VCS类型:Git
      2. VCS根名称:“项目主管”
      3. VCS root 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
      

      如果我删除“用户名”字段,我会收到同样的错误。如果我将获取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
      

      我做错了什么?

1 个答案:

答案 0 :(得分:3)

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