Bonjour à tous!
J'ai suivi [ce tutoriel] (https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps)de Digital Ocean pour mettre en place un petit hook me permettant de déployer sur un serveur.

Concrêtement, l'idée est simple:
Localement, je fais mon code. Quand je souhaite qu'il parte en production, je push vers origin/production.

Le tutoriel propose de faire un second Hook, dans lequel on peut push pour avoir une version beta de son site.

Sauf que maintenant, j'aimerais travailler avec des branches, j'ai une branche production et une branche développement et j'aimerais que ma version développement corresponde à ma branche développement sur mon serveur.

Récapitulatif de l'homme qui ne savait pas expliquer:
J'ai un repo sur mon ordinateur, sur lequel je peux switcher mes branches. J'aimerais pouvoir pusher ma branche master vers mon environnement de production, et pousser ma branche dev vers mon environnement de développement.

Comment puis-je assurer cela? N'hésitez pas à me dire si je n'ai vraiment pas réussi à être clair...

Bonne journée à tous!

4 réponses


Grafikart
Réponse acceptée

Petite recette dans mon post-receive

deploy_to_dir = '/home/www/MONSUPERSITE'
`GIT_WORK_TREE="#{deploy_to_dir}/production" git checkout -f master`
`GIT_WORK_TREE="#{deploy_to_dir}/dev" git checkout -f dev`

Il y a moyen de faire plus efficace en filtrant la branche dans le post-receive mais j'ai fait au plus cours.

Merci beaucoup pour ta réponse, du coup quel est le comportement d'un tel script?
en gros, il lance les deux commandes à chaque push mais il ne déploie qu'une branche sur chaque dossier?

Du coup tu n'as qu'un seul repo distant?

En tous cas, merci beaucoup pour la réponse, ça m'aide déjà un max!

C'est ça :) pour l'améliorer faudrait déployer que lors d'un push sur la branche concerné mais là ça fiat déjà le taff :)

Ok super, merci pour la réponse!