2009-04-28 15 views
34

¿Alguien ha configurado con éxito Teamcity para supervisar, extraer y compilar desde GitHub?HowTo: Teamcity + GitHub

Parece que no puedo imaginar cómo y dónde configurar las claves SSH para Teamcity. Tengo Teamcity ejecutándose como un servicio del sistema, bajo una cuenta del sistema. Entonces, ¿dónde esconde Teamcity su configuración SSH?

EDITAR

Para conseguir que esto funcione, que tenía que detener el agente se ejecute bajo una cuenta de sistema.

Respuesta

27

Ok ... Tengo esto para empezar a trabajar en mi servidor de Windows. Estos son los pasos que tomó para configurar TeamCity 4.5 Professional:

  1. descargado el JetBrains Git VCS Plugin
  2. copiado el archivo zip descargado a .BuildServer\plugins
  3. en la administración> Editar configuración Construir> pantalla de configuración Editar VCS Root, que selecciona "Git (JetBrains)"
  4. entrado en mi clon URL desde la página del proyecto GitHub
  5. Conjunto para el método de autenticación 'por defecto la clave privada' - esto es importante
    1. TeamCity BuildAgent debe ejecutarse como un usuario estándar, con la instalación SSH configurada correctamente para ese usuario.
    2. Siga el GitHub SSH directions for SSH configuration
  6. deje en blanco el nombre de usuario. Esto ya debe estar provisto en su clon GitHub URL
+0

¿Alguna vez lo consiguió para trabajar con TeamCity 5.0 – azamsharp

+0

? Tengo esto trabajando con TeamCity 5.1.2 utilizando autenticación de clave privada. El usuario que Build Agent ejecuta como tiene una clave privada en su directorio de inicio. La autenticación no funcionó hasta que dejé el nombre de usuario en blanco. Pensé que tendría que especificarlo porque mi URL de clona pertenecía a otro usuario, pero supongo que está utilizando el usuario con el que el Agente de compilación se está ejecutando. –

+9

Tenga en cuenta que esto no funciona si está utilizando claves SSH generadas en PuttyGen: pasamos bastante tiempo revolviendo, antes de regenerar una clave usando ssh-keygen en GitBash, que luego funcionó de inmediato. – dwynne

0

usted puede necesitar un plugin de terceros como this

+12

Para futuros lectores, ese complemento se desactivó cuando JetBrains creó uno oficial para el soporte de git que se envía en TeamCity. –

1

para clave privada, nombre de usuario debe estar en blanco.

7

Recibí "Clave privada predeterminada" para que funcione con los agentes que se ejecutan como el usuario de SYSTEM en Windows. Para mí, la respuesta estaba teniendo el archivo de identidad en

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

en lugar de al

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

+0

Esto parece haber sido el problema de raíz que tuve también. –

+0

Este es el único. Esto lo resolvió para mí con TeamCity 9: D – JSancho

0

(Este es un hasta la fecha respuesta a una vieja pregunta)

I tiene compilaciones basadas en ssh que trabajan con github/gitlab y teamcity 7 así:

Inicie sesión en el equipo máquina y use puttygen/ssh-keygen para generar un par de claves rsa y guarde la clave openssh en algún lugar sensato. (Gotcha - ¿Usando puttygen?Asegúrese de que la clave privada está en formato openssh - puttygen> conversiones> clave OpenSSH exportación)

sugiero que guarde la clave privada en

C:\.ssh\id_rsa 

Ahora configuración "clave privada por defecto" en TeamCity - crear un archivo

C:\.ssh\config 

Y en ella coloque esto:

Host * IdentityFile c:\.ssh\id_rsa 

sesión en que r gitlab/guthub cuenta y pegue en la clave pública openssh para su clave privada teamcity.

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

4

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 admiten la autenticación HTTP. Además, GitHub también admite personal api tokens con permisos limitados, que puede configurar a su gusto, o crear un nuevo usuario si lo prefiere.

Vea la imagen a continuación de nuestra configuración de TeamCity.

Teamcity configuration

0

No sé por qué, pero la elección de Default Private Key fallaron a mí.

A continuación, elegir a Custom Private Key como captura de pantalla a continuación: enter image description here

Username El campo tiene que estar vacío.

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

(suponiendo que haya agregado la clave pública de esta clave privada en git ya.)

espero que nadie se quedó atascado como yo!