web-dev-qa-db-fra.com

Comment faire: Teamcity + GitHub

Quelqu'un at-il configuré avec succès Teamcity pour surveiller, extraire et compiler à partir de GitHub?

Je n'arrive pas à comprendre comment et où configurer les clés SSH pour Teamcity. Teamcity fonctionne en tant que service système, sous un compte système. Alors, où est-ce que Teamcity cache sa configuration SSH?

MODIFIER

Pour que cela fonctionne, je devais empêcher l'agent de s'exécuter sous un compte système.

34
Jeff Fritz

Ok ... je dois commencer à travailler sur mon serveur Windows. Voici les étapes que j'ai suivies pour configurer TeamCity 4.5 Professional :

  1. Téléchargé le Plugin JetBrains Git VCS
  2. Copié le fichier Zip téléchargé dans .BuildServer\plugins
  3. Dans l'écran Administration> Edit Build Configuration> Edit VCS Root, j'ai sélectionné "Git (JetBrains)".
  4. Entrer mon URL de clone depuis la page du projet GitHub
  5. Définir pour la méthode d’authentification "Clé privée par défaut" - C’est IMPORTANT
    1. TeamCity BuildAgent doit être exécuté en tant qu'utilisateur standard, avec l'installation SSH configurée correctement pour cet utilisateur. 
    2. Suivez les instructions GitHub SSH pour la configuration de SSH
  6. Laissez le nom d'utilisateur vide. Cela devrait déjà être prévu dans votre URL de clone GitHub
27
Jeff Fritz

J'ai obtenu la "Clé privée par défaut" pour travailler avec des agents s'exécutant en tant qu'utilisateur SYSTEM sous Windows. Pour moi, la réponse était d'avoir le fichier d'identité à

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

au lieu de 

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

7
Dan

Votre question concerne spécifiquement SSH, mais il est certainement plus simple et plus rapide d’utiliser HTTP sur TLS, car GitHub et TeamCity prennent désormais en charge l’authentification HTTP. De plus, GitHub supporte également tokens api personnels avec des autorisations limitées, que vous pouvez configurer à votre guise, ou créer un nouvel utilisateur si vous préférez.

Voir l'image ci-dessous de nos paramètres TeamCity.

Teamcity configuration

4
David Mohundro

Depuis TeamCity 8.1, la gestion des clés SSH est officiellement prise en charge. Veuillez lire la documentation suivante: https://confluence.jetbrains.com/display/TCD9/SSH+Keys+Management

2
KIR

(Ceci est une réponse à jour à une vieille question)

J'ai obtenu des versions basées sur SSH travaillant avec github/gitlab et teamcity 7 comme ceci:

Connectez-vous à la machine teamcity et utilisez puttygen/ssh-keygen pour générer une paire de clés rsa et enregistrer la clé openssh dans un endroit raisonnable. (Gotcha - Utilisation de puttygen? Assurez-vous que la clé privée est au format openssh - puttygen> conversions > clé openssh d'exportation)

Je vous suggère de sauvegarder la clé privée

C:\.ssh\id_rsa

Maintenant, configurez "clé privée par défaut" dans teamcity - créez un fichier 

C:\.ssh\config

Et dans cette place, placez ceci:

Host * IdentityFile c:\.ssh\id_rsa

Connectez-vous à votre compte gitlab/guthub et collez la clé publique openssh pour la clé privée de votre teamcity.

Vous devriez maintenant pouvoir créer une racine git vcs dans teamcity pouvant utiliser la clé privée par défaut pour extraire votre source.

1
alastairtree

pour la clé privée, le nom d'utilisateur doit être vide.

1
Davem M

Je ne sais pas pourquoi mais le choix de Default Private Key m'a échoué.

Puis je choisis de Custom Private Key comme capture d’écran ci-dessous:  enter image description here

Le champ Username doit être vide.

Le champ Passphrase est le mot de passe de votre clé privée

(Supposons que vous ayez déjà ajouté la clé publique de cette clé privée dans git.)

J'espère que personne ne s'est coincé comme moi!

0
ThangTD

Vous aurez peut-être besoin d'un plugin tiers comme this

0
Dean