TeamCity – Git push de agente

Tengo un server de TeamCity configurado para extraer src de GitHub en los agentes que usan "Clave privada pnetworkingeterminada" y un file de configuration en .ssh que se ve así:

Host git@github.com IdentityFile ~/.ssh/id_rsa.shop StrictHostKeyChecking no Host github.com IdentityFile ~/.ssh/id_rsa.shop StrictHostKeyChecking no 

y esto funciona bien Ahora quiero presionar por los agentes. Sin embargo, cuando hago esto, el command push se cuelga debido a la input del usuario:

 The authenticity of host 'github.com (192.30.252.130' can't be established. RSA key fingerprints is 'xxx....xxx' Are you sure you want to continue (yes/no) Warning: Permently added '' to known hosts. Connection closed by 192.30.252.130 Fatal: The remote end hung up unexpectedly. 

Si lo hago manualmente, sigue fallando con el permiso denegado independientemente de si escribo sí / no.

La "key privada pnetworkingeterminada" tiene permissions de lectura / escritura según github, así que estoy un poco perdido. Lo único que he observado es que la github ip se ve muy local, pero ¿cómo puede ser eso cuando el agente acaba de realizar un process de pago lateral del agente? ¿Podría ser esto un firewall?

¿Alguien puede explicarme qué me falta?

Resulta que hubo una captura bastante grande con la configuration. Aparentemente por razones que no entiendo muy bien, el context / perfil del usuario cambió una vez que llamé a git. Esto cambiaría el homedir. Esto se puede verificar mirando el file Git, que hace el cambio de perfil llamado: perfil:

 # Set up USER's home directory if [ -z "$HOME" -o ! -d "$HOME" ]; then HOME="$HOMEDRIVE$HOMEPATH" if [ -z "$HOME" -o ! -d "$HOME" ]; then HOME="$USERPROFILE" fi fi if [ ! -d "$HOME" ]; then printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n" echo "This is an error which might be related to msysGit issue 108." echo "You might want to set the environment variable HOME explicitly." printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n" HOME=/ fi # normalize HOME to unix path HOME="$(cd "$HOME" ; pwd)" 

Solucioné este problema al forzar el directory de inicio al usuario actual así:

 set HOME=%env.USERPROFILE% 

El problema estaba en un script de inicio de git.

Además, tuve que modificar la configuration para:

 Host webshop_github HostName github.com User git PrefernetworkingAuthentications publickey IdentityFile ~/.ssh/id_rsa.shop 

De hecho, he bajado un poco más y encontré otra solución gracias a @Christian Mikkelsen y las respuestas en este hilo: git.cmd vs git.exe: ¿cuál es la diferencia y cuál debería usarse? .

No debe usar el git.exe original cuando trabaje manualmente con git, sino con los contenedores – gitk.cmd o cmd\git.exe . Tenga en count que cmd\git.exe no es lo mismo que bin\git.exe . Teamcity utiliza bin\git.exe porque sabe cómo trabajar con él. Pero si trabajas con git manualmente, debes usar cmd\git.exe .

El problema que tiene que resolver es cómo pasar la ruta a cmd\git.exe en su secuencia de commands. Lo env.TEAMCITY_GIT_PATH se puede hacer usando parameters personalizados o tal vez anulando el env.TEAMCITY_GIT_PATH antes de ejecutar su script.

Intereting Posts