git teamcity bitbucket teamcity-9.0

El canal no está abierto. Errores en la combinación automática en Teamcity(git)



bitbucket teamcity-9.0 (4)

Estoy usando TeamCity en ubuntu ( TeamCity Professional 9.1.7 (build 37573) ). Y teniendo algunos problemas con las combinaciones automáticas últimamente (git). No he cambiado nada en la configuración de cuando solía trabajar. Intenté eliminar el directorio de trabajo. Sólo sirvió para un par de fusiones.

Síntomas: el registro de compilación se ve limpio y obtengo esto en la descripción general de la compilación:

Failed to merge sources in VCS root foo. Merge error ''git fetch'' command failed. stderr: [email protected]:foo/foo.git: channel is not opened. exit code: 1.

Aunque , en el agente que ejecuta esto, teamcity-vcs.log un error totalmente diferente en teamcity-vcs.log :

[2016-03-30 15:14:31,722] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git show-ref refs/remotes/origin/foo [2016-03-30 15:14:31,775] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8 -- [2016-03-30 15:14:31,797] WARN - jetbrains.buildServer.VCS - ''/usr/bin/git log -n1 --pretty=format:%H%x20%s 193f46d88205c5e419a8a7458e742ce9b598cca8 --'' command failed. stderr: fatal: bad object 193f46d88205c5e419a8a7458e742ce9b598cca8 [2016-03-30 15:14:31,798] INFO - jetbrains.buildServer.VCS - [/home/ubuntu/BuildAgent/work/7676127c0a691f42]: /usr/bin/git fetch --progress origin +refs/heads/foo:refs/remotes/origin/foo [2016-03-30 15:14:35,832] WARN - jetbrains.buildServer.VCS - Error output produced by: /usr/bin/git fetch --progress origin +refs/heads/foo:refs/remotes/origin/foo [2016-03-30 15:14:35,832] WARN - jetbrains.buildServer.VCS - remote: Counting objects: 2, done.ESC[K remote: Compressing objects: 50% (1/2) ESC[K remote: Compressing objects: 100% (2/2) ESC[K remote: Compressing objects: 100% (2/2), done.ESC[K remote: Total 2 (delta 1), reused 0 (delta 0)ESC[K From bitbucket.org:bar/bar 62ba378..193f46d foo -> origin/foo

Como si el comando de registro fallara.

Gracias.

Actualización: recibí una actualización de que existe evidencia anecdótica de que esto se debe a cambios específicamente en el git de BitBucket sobre los servidores SSH.



Por https://youtrack.jetbrains.com/issue/TW-46052 , el problema se ha solucionado. La solución se enviará con la próxima versión, ya sea 9.1.8 o 10. Si no desea esperar por la versión, puede actualizar manualmente el complemento git descargándolo desde aquí (iniciando sesión como invitado o creando una cuenta en el servidor de compilación de JetBrains) y reemplazarla en su instalación.

  • Apagar TC
  • Coloque el archivo descargado jetbrains.git.zip en %TEAM_CITY%/webapps/ROOT/WEB-INF/plugins sustituyendo al existente.
  • Reiniciar TC

Esto solucionó el problema para mí y para otros.


TeamCity usó la multiplexación ssh que se deshabilitó recientemente en Bitbucket Cloud. Si este problema lo afecta, mire https://youtrack.jetbrains.com/issue/TW-46052 , los arreglos se publicarán allí (en el momento de escribir este artículo hay un arreglo para TeamCity 9.1.xy 9.0). X). Una solución alternativa sin instalar un complemento de git más reciente es usar https o un protocolo anónimo en lugar de ssh.

Actualizar

La solución inicial provocó que la recopilación de cambios fallara con errores de tiempo de espera en TeamCity 8.1.xy 9.0.x, esto se ha solucionado ahora .


Ya me he topado con este problema dos veces y se puso molesto.

Para los usuarios de Linux que han instalado TeamCity correctamente (por ejemplo, tienen un usuario separado y un servicio de teamcity), este script debe hacer todo el trabajo pesado (dado que tiene sudo):

function patch_teamcity_plugin() { # Find teamcity plugin dir. sudo updatedb path_part="webapps/ROOT/WEB-INF/plugins" teamcity_plugin_dir=$(locate $path_part | grep -o -E ".*$path_part" | head -n 1) if [ "$teamcity_plugin_dir" == "" ]; then echo "Cannot find teamcity plugins directory." 1>&2 return 1 fi login_url="https://teamcity.jetbrains.com/guestLogin.html?guest=1" cookie_file=$(mktemp) # Log in as guest. # Wget login - thanks to: http://.com/a/1432161/2041634 wget --save-cookies $cookie_file --keep-session-cookies $login_url # Download the plugin to the teamcity plugin directory. plugin_url="https://teamcity.jetbrains.com/repository/download/TeamCityPluginsByJetBrains_Git_JetBrainsGitPluginTeamCity91x/843194:id/jetbrains.git.zip" plugin_dest_filename="$teamcity_plugin_dir/jetbrains.git.zip" sudo wget --load-cookies $cookie_file $plugin_url -O $plugin_dest_filename if [ "$?" != "0" ]; then echo "Failed download of plugin." 1>&2 return 1 fi # Copy permissions - thanks to: http://unix.stackexchange.com/a/20646 sudo chown --reference="$teamcity_plugin_dir" "$plugin_dest_filename" sudo chmod 0755 "$plugin_dest_filename" # Restart TeamCity server. sudo service teamcity restart } patch_teamcity_plugin()