Je comprends donc que heroku fonctionne comme un référentiel git, mais disons que je veux utiliser github ainsi qu'un référentiel. Comment le configurer de telle sorte que j'ai deux référentiels et que les deux soient synchronisés?
Vous pouvez avoir plusieurs télécommandes sur une installation git. Vous auriez une télécommande github et une télécommande heroku.
En supposant que vous avez déjà la configuration de github, vous poussez probablement vers github avec quelque chose comme:
git Push Origin master
Origin
est votre télécommande et master
est votre branche.
Suivez les instructions de pour commencer avec Herok choisissez la langue souhaitée et poursuivez le didacticiel. Ce tutoriel suppose que vous avez déjà la configuration de github et vous montrera comment créer votre heroku
à distance - via heroku create
.
Vous poussez ensuite vers github comme d'habitude, et poussez vers heroku via:
git Push heroku master
Le même format s'applique - heroku
est votre télécommande et master
est votre branche. Vous n'écrasez pas votre télécommande Github ici, vous en ajoutez une autre, vous pouvez donc toujours faire les deux push via un commit avec un workflow tel que:
git add .
git commit -m "Going to Push to Heroku and Git"
git Push Origin master -- Push to Github Master branch
git Push heroku master -- Push to Heroku
Ajoutez-les d'abord:
git remote add Origin <github repo>
git remote add heroku [email protected]:<app name>.git
Puis Push
git Push Origin master
git Push heroku master
Modifiez votre fichier de configuration pour que Origin
pointe à la fois vers heroku et github:
git config -e
Ajouter/remplacer:
[remote "Origin"]
url = [email protected]:username/somerepo.git
url = ssh://[email protected]/username/somerepo.git
Puisque vous utilisez github, vous pouvez vous intégrer à heroku en accédant à:
https://dashboard.heroku.com/apps/<app name>/settings#github-repo
et en ajoutant le nom de votre référentiel.
vous devrez utiliser une plateforme d'intégration continue comme TravisCI .
Voici les étapes pour que cela fonctionne. Faites attention à ce que vous passez en production, assurez-vous que cela fonctionne avant d'être déployé. Chaque méthode a ses avantages et ses inconvénients.
Je pense que c'est en fait le cas recommandé; la fonction de dépôt Heroku git est vraiment pour le déploiement et non la gestion de code.
Utilisez simplement github pour gérer votre code comme d'habitude, mais en plus, poussez vers le dépôt Heroku git lorsque vous êtes prêt à déployer. Il n'est pas nécessaire de les synchroniser avec les outils automatisés, etc., car vous voulez pouvoir pousser vers votre référentiel github sans déployer, par exemple afin de pouvoir sauvegarder ou collaborer sur des fonctionnalités inachevées ou maintenir des environnements de production et de production séparés .
Je le fais assez souvent. Je crée un site pour Heroku mais je veux garder ma source dans Github à des fins d'archivage. J'ai installé des télécommandes:
git remote add Origin <github repo>
et
git remote add heroku <heroku repo>
Ensuite, vous pouvez simplement git Push Origin master
et alors git Push heroku master
. Heroku vous permet également d'associer un dépôt github dans le but de voir les différences de validation.
Puisque personne ne l'a mentionné auparavant. Git vous permet maintenant d'ajouter plusieurs URL à chaque télécommande. Faites comme ça:
cela ajoutera fetch
et Push
de github:
git remote add Origin [email protected]:yourName/yourGithubRepo.git
cela remplacera github Push
avec heroku Push
:
git remote set-url Origin --Push --add [email protected]:yourHerokuRepo.git
cela ajoutera github Push
:
git remote set-url Origin --Push --add [email protected]:yourName/yourGithubRepo.git
et c'est une sortie finale:
$ git remote -v
Origin [email protected]:yourName/yourGithubRepo.git (fetch)
Origin [email protected]:yourHerokuRepo.git (Push)
Origin [email protected]:yourName/yourGithubRepo.git (Push)
Après cela, lancez:
git Push
Si, au lieu de travailler, vous dites qch à propos de la configuration en amont, tapez d'abord ceci:
git Push --set-upstream Origin master
Si vous ne souhaitez pas gérer deux référentiels et uniquement celui de Github, voici comment vous pouvez le faire (en supposant que vous avez déjà créé une application Heroku).
1) Tout d'abord, clonez le référentiel Heroku sur votre site local.
2) Créez ensuite un dépôt Github et poussez ce local là-bas.
3) Une fois cela fait, utilisez wercker
4) Allez à "Ajouter une application" et remplissez les détails. Ils sont assez simples. Utilisez le référentiel Github que vous venez de créer.
5) Après avoir ajouté l'application goto Setting et ajouter une cible de déploiement. Sélectionnez heroku dans la liste. Ensuite, sélectionnez l'application Heroku que vous avez créée et les branches que vous souhaitez pousser.
C'est ça! Vous avez terminé. Votre référentiel Github est maintenant synchronisé avec votre application Heroku. Tout ce que vous envoyez au dépôt Github en utilisant
git Push Origin master
sera automatiquement déployé sur votre application Heroku. De cette façon, vous avez votre référentiel sur Github à gérer et vous n'avez qu'un seul dépôt à gérer. :)