42 votes

Le canal n'est pas ouvert Erreurs dans la fusion automatique sur Teamcity (git)

Je suis à l'aide de TeamCity sur ubuntu (TeamCity Professional 9.1.7 (build 37573)). Et ayant quelques problèmes avec automatique fusionne ces derniers temps (git). Je n'ai rien changé dans la configuration à partir de quand il l'habitude de travailler. J'ai essayé de supprimer le répertoire de travail. il ne m'a aidé pour un couple de fusions.

Symptômes: Le journal de génération a l'air propre, et je suis présent sur la compilation aperçu:

Failed to merge sources in VCS root foo. Merge error 'git fetch'     command failed.
stderr: git@bitbucket.org:foo/foo.git: channel is not opened.
exit code: 1.

Bien que, dans l'agent d'exécution de ce que je suis totalement différentes d'erreur 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 

Comme si le journal d'échec de la commande..

Merci.


Mise à jour: j'ai reçu une mise à jour qu'il existe des preuves anecdotiques que cela est dû à des changements plus précisément dans BitBucket du git sur des serveurs SSH.

23voto

namero999 Points 1439

Par https://youtrack.jetbrains.com/issue/TW-46052le problème a été résolu. Le correctif sera disponible avec la prochaine version, soit 9.1.8 ou 10. Si vous ne voulez pas attendre pour la version, vous pouvez mettre à jour manuellement le plugin git en la téléchargeant à partir d'ici (connexion en tant qu'invité, ou en créant un compte sur JetBrains' serveur de build) et le remplacement de votre installation.

  • L'arrêt TC
  • Mettre le fichier téléchargé jetbrains.git.zip en %TEAM_CITY%/webapps/ROOT/WEB-INF/plugins remplacer l'existant
  • Redémarrez TC

Le problème est résolu pour moi et les autres.

22voto

neverov Points 1170

TeamCity utilisé ssh multiplexage qui a récemment été désactivé dans Bitbucket Cloud. Si vous êtes concerné par ce problème, s'il vous plaît regarder la https://youtrack.jetbrains.com/issue/TW-46052, des correctifs seront posté il y a (au moment de l'écriture il s'agit d'un correctif pour TeamCity 9.1.x et 9.0.x). Une solution de contournement sans l'installation d'une nouvelle git-plugin pour utiliser https ou anonymes protocole au lieu de ssh.

Mise à jour

La position initiale sur les changements causés par la collecte échoue avec une erreur de timeout dans TeamCity 8.1.x et 9.0.x, c'est fixé maintenant.

10voto

Benjamin Echols Points 109

Mise à jour: JetBrains a publié un correctif pour ce problème - voir https://youtrack.jetbrains.com/issue/TW-46052 pour plus de détails.

1voto

kburnik Points 11

J'ai déjà rencontré ce problème deux fois déjà et c'est devenu agaçant.

Pour les utilisateurs linux qui ont correctement installé TeamCity (par exemple, un utilisateur distinct et un service teamcity), ce script devrait faire le gros du travail (étant donné que vous avez 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://stackoverflow.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()
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X