HowTo: Teamcity + GitHub

前端 未结 8 1455
暖寄归人
暖寄归人 2021-01-30 04:14

Has anybody successfully configured Teamcity to monitor, extract, and build from GitHub?

I can\'t seem to figure how where and how to configure the SSH keys for Teamcity

相关标签:
8条回答
  • 2021-01-30 04:41

    Ok... I got this to start working on my Windows server. Here are the steps I took to configure TeamCity 4.5 Professional:

    1. Downloaded the JetBrains Git VCS Plugin
    2. Copied the downloaded zip file to .BuildServer\plugins
    3. In the Administration > Edit Build Configuration > Edit VCS Root configuration screen, I selected "Git (JetBrains)"
    4. Entered my Clone Url from the GitHub project page
    5. Set for authentication method "Default Private Key" -- this is IMPORTANT
      1. The TeamCity BuildAgent should be running as a standard user, with the SSH installation configured properly for that user.
      2. Follow the GitHub SSH directions for SSH configuration
    6. Leave the username blank. This should already be provided for in your GitHub clone URL
    0 讨论(0)
  • 2021-01-30 04:43

    Since TeamCity 8.1, there is an official support for SSH key management, please read this docs: https://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management

    0 讨论(0)
  • 2021-01-30 04:44

    Your question is specific to SSH, but it is certainly easier and quicker to use HTTP over TLS, as GitHub and TeamCity both now support HTTP authentication. Furthermore, GitHub also supports personal api tokens with limited permissions, that you may configure to your liking, or create a new user if you prefer.

    See image below of our TeamCity settings.

    Teamcity configuration

    0 讨论(0)
  • 2021-01-30 04:49

    (This is a up to date answer to an old question)

    I got ssh based builds working with github/gitlab and teamcity 7 like this:

    Log onto the teamcity machine and use puttygen/ssh-keygen to generate a rsa key pair and save the openssh key somewhere sensible. (Gotcha - Using puttygen? Make sure the private key is in openssh format - puttygen > conversions > export openssh key)

    I suggest you save the private key in

    C:\.ssh\id_rsa
    

    Now setup "default private key" in teamcity - create a file

    C:\.ssh\config
    

    And in it place this:

    Host * IdentityFile c:\.ssh\id_rsa
    

    Login to your gitlab/guthub account and paste in the openssh public key for your teamcity private key.

    You should now be able to create a git vcs root in teamcity that can use the default private key to pull your source.

    0 讨论(0)
  • 2021-01-30 04:51

    You may need a third party plugin like this

    0 讨论(0)
  • 2021-01-30 04:52

    I got "Default Private Key" to work with agents running as the SYSTEM user on Windows. For me, the answer was having the identity file at

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

    instead of at

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

    0 讨论(0)
提交回复
热议问题