web-dev-qa-db-fra.com

Poussez de github à heroku sans télécharger le repo

J'ai un repo github que je veux pousser vers un nœud heroku. Un 3ème hôte coordonnera cela. Comme je vais le faire à grande échelle, je veux éviter de télécharger le contenu du rapport sur le troisième hôte. Comment fait-on ça?

37
opsb

Vous ne pouvez pas pousser directement de Github à Heroku.

Vous allez devoir utiliser le troisième hôte pour coordonner le Push. Cela pourrait être tiré à partir d'un crochet post-réception Github.

Pour synchroniser directement, utilisez quelque chose comme:

git remote add github [email protected]:user/repo.git
git remote add heroku [email protected]:app.git

git Push heroku refs/remotes/github/master:refs/heads/master
47
David Dollar

Codeship.io fait ceci en tant que service maintenant, et configure automatiquement les Webhooks de git appropriés sur les dépôts github publics ou privés.

Il existe quelques autres options «d’intégration continue en tant que service» (CIAAS), mais en général, elles contournent le problème que vous présentez spécifiquement: les hooks Web doivent utiliser un service tiers, ce qui peut déclencher la processus de construction heroku.

Ces hôtes CIAAS agissent en tant que tierces parties et offrent généralement un niveau gratuit pour les projets publics. Vous pouvez également lancer le vôtre en déployant un serveur de réception Web hook, qui peut à la fois extraire et pousser des dépôts git.

2
everyplace

Environ un an après ma réponse précédente à propos de codeship.io , Heroku a lancé les débuts de son ensemble de fonctionnalités Pipeline, qui inclut une intégration correcte de Github.

_ { https://devcenter.heroku.com/articles/github-integration } _

L'ensemble du flux de pipeline est vraiment puissant, permettant des instances temporaires basées sur des branches, des déploiements d'applications multiples, la mise en scène -> promotion de la production, etc. Plus d'informations peuvent être trouvées sur Heroku's article de synthèse .

0
everyplace

Je ne pense pas que vous puissiez transférer directement de GitHub vers un autre dépôt distant.

Donc, si vous avez plusieurs applications à pousser, vous pouvez envisager une organisation utilisant des sous-modules, comme dans cette SO question .

Vous devez toujours télécharger un dépôt pour Push it sur le nœud Heroku, mais vous pouvez au moins contrôler ce que vous voulez tirer/Push (et faire un nettoyage entre chaque Push).

0
VonC