Como: Teamcity + GitHub


¿Alguien ha configurado correctamente Teamcity para supervisar, extraer y compilar desde GitHub?

No puedo entender cómo dónde y cómo configurar las claves SSH para Teamcity. Tengo Teamcity funcionando como un servicio del sistema, bajo una cuenta del sistema. Entonces, ¿dónde guarda Teamcity su configuración SSH?

EDITAR

Para que esto funcionara, necesitaba evitar que el agente se ejecutara bajo una cuenta del sistema.

Author: Ryan Hayes, 2009-04-28

8 answers

Ok... Conseguí esto para empezar a trabajar en mi servidor 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 pantalla Administración > Editar Configuración de compilación > Editar Configuración raíz de VCS, seleccioné " Git (JetBrains)"
  4. Ingresé mi Url de Clon desde la página del proyecto GitHub
  5. Establecer el método de autenticación " Predeterminado Clave privada " this esto es IMPORTANTE
    1. El buildAgent de TeamCity debe ejecutarse como un usuario estándar, con la instalación de SSH configurada correctamente para ese usuario.
    2. Siga las instrucciones de SSH de GitHub para la configuración de SSH
  6. Deje el nombre de usuario en blanco. Esto ya debería estar previsto en tu URL de clon de GitHub
 27
Author: Jeff Fritz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-01 20:14:48

Tengo "Clave privada predeterminada" para trabajar con agentes que se ejecutan como usuario del SISTEMA en Windows. Para mí, la respuesta era tener el archivo de identidad en

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

En lugar de en

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

 7
Author: Dan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-13 22:34:10

Su pregunta es específica para 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 tokens personales api con permisos limitados, que puedes configurar a tu gusto, o crear un nuevo usuario si lo prefieres.

Vea la imagen de abajo de nuestra configuración de TeamCity.

Configuración de Teamcity

 4
Author: David Mohundro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-10 20:25:26

Desde TeamCity 8.1, hay un soporte oficial para la administración de claves SSH, lea estos documentos: https://confluence.jetbrains.com/display/TCD9/SSH + Claves + Gestión

 2
Author: KIR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-07 11:42:16

Para la clave privada, el nombre de usuario debe estar en blanco.

 1
Author: Davem M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-21 03:39:20

Es posible que necesite un plugin de terceros como this

 0
Author: Dean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-28 12:18:00

(Esta es una respuesta actualizada a una vieja pregunta)

Tengo compilaciones basadas en ssh trabajando con github / gitlab y teamcity 7 de esta manera:

Inicie sesión en la máquina de teamcity y use puttygen/ssh-keygen para generar un par de claves rsa y guardar la clave openssh en algún lugar sensible. (Gotcha - Usando puttygen? Asegúrese de que la clave privada está en formato openssh-puttygen > conversiones > exportar clave openssh)

Le sugiero que guarde la clave privada en

C:\.ssh\id_rsa

Ahora configurar " privado predeterminado key " en teamcity-crear un archivo

C:\.ssh\config

Y en él colocar esto:

Host * IdentityFile c:\.ssh\id_rsa

Inicie sesión en su cuenta de gitlab/guthub y pegue la clave pública de openssh para su clave privada de 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.

 0
Author: alastairtree,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-03 16:12:14

No se por qué pero elegir Default Private Key me falló.

Luego elijo Custom Private Key como captura de pantalla a continuación: introduzca la descripción de la imagen aquí

El campo Username tiene que estar vacío.

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

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

¡Espero que nadie se quede atascado como yo !

 0
Author: ThangTD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-12 07:23:02