2017-03-29 1 views
2

Nous traitons git comme une base de données pour certaines de nos configurations et fichiers csv. J'ai un plan Bamboo où je vais chercher du code (à partir de Stash), exécuter un script de noeud et générer des fichiers csv. Je dois être capable de 'pousser' ceux-ci vers un référentiel donné. J'ai une tâche de script où je suis en train d'écrire quelque chose comme ça -Comment faire un push git à partir d'une tâche Bamboo Script

git remote add central ssh://[email protected]:port/xyz.git 
git config --global user.name "Bamboo" 
git config --global user.email "[email protected]" 

git add src/main/resources/lookups/main/common/* 
git add src/main/resources/lookups/main/reference/* 
git commit -m "FROM BAMBOO JOB" 

git push -u central featureBranchName 

Je reçois l'erreur suivante - la vérification de hostkey a échoué.

Comment configurer SSH entre ma réserve de stockage et cet 'agent bambou'? Je suis sûr que quelqu'un aurait déjà essayé.

Merci!

Répondre

1

Vous devez faire manuellement (juste une fois), withthe compte utilisé par votre script:

ssh -T [email protected] -p port 

qui déclenchera une question à laquelle vous répondez oui (mettre à jour le ~/.ssh/known_hosts)

Ensuite, votre le script peut continuer.

Notez que je voudrais également régler manuellement la ligne:

git remote add central ssh://[email protected]:port/xyz.git 

Vous ne devez utiliser cette commande une fois, pas à chaque fois que votre script est exécuté.

+0

pour les deux parties, nous pourrions éliminer l'étape manuelle - 1) mettre à jour known_hosts mais nettoyer ensuite 2) faire un git remote remove central une fois le travail terminé –

+1

@KumarVaibhav Le 'known_hosts' ne devrait être mis à jour qu'une seule fois. Pas besoin d'automatiser cette étape. Le 'git remote remove' est une bonne idée. – VonC

0

Comme une mise à jour VonC réponse que vous pouvez le mettre dans un script si vous utilisez :

ssh -T [email protected] -p port -oStrictHostKeyChecking=no 

Cette acceptera automatiquement le certificat de la machine en question si vous utilisez docker ou l'agent de nettoyage complètement.