HowTo: Teamcity + GitHub

¿Alguien ha configurado con éxito Teamcity para monitorear, extraer y build desde GitHub?

Parece que no puedo entender cómo y dónde configurar las keys SSH para Teamcity. Tengo Teamcity ejecutándose como un service del sistema, bajo una count del sistema. Entonces, ¿dónde esconde Teamcity su configuration SSH?

EDITAR

Para que esto funcione, tuve que evitar que el agente se ejecutara bajo una count del sistema.

Ok … Tengo esto para comenzar a trabajar en mi server de Windows. Estos son los pasos que tomé para configurar TeamCity 4.5 Professional :

  1. Descargó el complemento JetBrains Git VCS
  2. .BuildServer\plugins el file zip descargado a .BuildServer\plugins
  3. En la pantalla de configuration de Administración> Editar configuration de compilation> Editar raíz de VCS, seleccioné "Git (JetBrains)"
  4. Ingresé a mi Clon Url desde la página del proyecto GitHub
  5. Establecido para el método de authentication "Clave privada pnetworkingeterminada": esto es IMPORTANTE
    1. TeamCity BuildAgent debería ejecutarse como un usuario estándar, con la installation de SSH configurada correctamente para ese usuario.
    2. Siga las instrucciones de GitHub SSH para la configuration de SSH
  6. Deje el nombre de usuario en blanco. Esto ya debería estar previsto en su URL de clonación de GitHub

Obtuve "Clave privada pnetworkingeterminada" para trabajar con agentes que se ejecutan como el usuario de SYSTEM en Windows. Para mí, la respuesta fue tener el file de identidad en

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

en lugar de en

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

Su pregunta es específica de SSH, pero ciertamente es más fácil y rápido usar HTTP sobre TLS, ya que GitHub y TeamCity ahora son compatibles con la authentication HTTP. Además, GitHub también admite tokens api personales con permissions limitados, que puede configurar a su gusto, o crear un nuevo usuario si lo prefiere.

Vea la image a continuación de nuestra configuration de TeamCity.

Configuración de Teamcity

Desde TeamCity 8.1, existe un soporte oficial para la administración de keys SSH, lea este documento: https://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management

para la key privada, el nombre de usuario debe estar en blanco.

Es posible que necesite un complemento de terceros como este

(Esta es una respuesta actualizada a una pregunta anterior)

Obtuve comstackciones basadas en ssh trabajando con github / gitlab y teamcity 7 de esta manera:

Inicie session en la máquina teamcity y use puttygen / ssh-keygen para generar un par de keys rsa y guarde la key openssh en algún lugar sensato. (Entiéndase: usar puttygen? Asegúrese de que la key privada esté en formatting openssh – puttygen> conversiones> exportar key openssh)

Te sugiero que guardes la key privada en

 C:\.ssh\id_rsa 

Ahora configura la "key privada pnetworkingeterminada" en teamcity – crea un file

 C:\.ssh\config 

Y en esto coloque esto:

 Host * IdentityFile c:\.ssh\id_rsa 

Ingresa a tu count gitlab / guthub y pega la key pública openssh para tu key privada teamcity.

Ahora debería poder crear una raíz de git vcs en teamcity que pueda usar la key privada pnetworkingeterminada para extraer su fuente.

No sé por qué, pero la elección de Default Private Key me falló.

Luego elijo Custom Private Key como captura de pantalla a continuación: enter image description here

El campo Username debe estar vacío.

El campo Passphrase contraseña es la contraseña de su key privada

(Supongamos que ya ha agregado la key pública de esta key privada en git).

¡Espero que nadie se quede atascado como yo!