2017-10-10 7 views
0

Je veux créer un serveur webhook qui pousse juste tous les commits d'une télécommande à l'autre. Par exemple: Quelqu'un pousse à gitlab et déclenche un webhook. Mon serveur reçoit le hook et transfère les validations de gitlab.com/repo à github.com/repo.git push commet d'une télécommande à une autre sans stocker les fichiers localement

Est-il possible de ne pas

git clone gitlab.com/repo 
git remote add github/repo github 
git push github 

et juste pousser sans prendre l'espace disque dur (ayant le référentiel local)?

Merci

+1

Vous pouvez le faire dans le webhook et vous n'avez pas besoin de cloner un dépôt parce que tous vous accueille gitlab ce référentiels . Vous pouvez lancer 'git push' depuis votre repo Gitlab vers votre repo Github. Mais bien sûr, l'utilisateur qui exécute le webhook Gitlab devrait avoir des permissions pour aller chercher/pousser avec des dépôts Github. – ElpieKay

+0

@ElpieKay Je ne suis pas sûr que vous avez compris ma question ou je ne comprends pas vous répondre? Est-il possible de ne pas avoir de référentiels locaux? –

+0

Si vous avez deux dépôts, l'un peut être le "local" ou le "distant". Vous pouvez toujours pousser d'un (local) à l'autre (distant). Maintenant, vous avez déjà deux dépôts, un dans Gitlab et l'autre dans Github. Il n'est donc pas nécessaire de cloner et de créer un autre référentiel sur votre machine locale ou ailleurs, bien que ce soit également raisonnable, juste un autre workflow. Gitlab héberge des dépôts et supporte des webhooks. Ainsi, dans un webhook, vous pouvez exécuter des commandes pour passer du dépôt Gitlab à un autre dépôt, qui est hébergé dans Github dans ce cas. – ElpieKay

Répondre

0

On dirait que ce n'est pas possible sans avoir un référentiel local ...

+1

Si gitlab ne vous permet pas d'exécuter des hooks qui le font, gitlab ne vous laissera pas exécuter les hooks qui le font. Git peut certainement pousser directement de tout repo. – jthill