J'essaie de configurer GIT pour déployer mon projet à différents endroits en fonction de la branche. (Je pense que c'est ce que je veux faire de toute façon).
Ma configuration actuelle est la suivante : Une machine de développement locale exécutant Netbeans pour effectuer des modifications. Serveur distant hébergeant les projets GIT (même serveur exécutant apache). - 2 sous-sites existent un test.FQDN.com et un live.FQDN.com
Ce que je voudrais faire, c'est avoir un projet GIT (MonProjet) et créer une nouvelle branche de fonctionnalité. Tous les commits effectués sur la nouvelle branche de fonctionnalités seraient poussés vers test.FQDN.com. Une fois que les fonctionnalités ont été testées et ensuite fusionnées dans la branche master, elles seraient poussées vers live.FQDN.com. J'ai regardé les hooks post-receive de GIT et j'ai pu utiliser la commande "git checkout -f" pour tirer sur le site test.FQDN.com mais cela ne tire que la branche master et pas la nouvelle branche de fonctionnalités. Je n'ai pas de fonds pour faire appel à une tierce partie pour faire fonctionner ce système, et je préférerais rester dans GIT mais avoir un accès complet au serveur web s'il y a un paquet à installer qui aiderait à contrôler cela. Toute suggestion serait la bienvenue !
EDIT Voici à quoi ressemble mon post-recevoir actuellement :
#!/bin/sh
umask 002
cd /srv/git/projects/APP.git
git push --mirror backupLocation:APP
branch=$(git branch | grep "*" | sed "s/* //")
if [ "$branch" == "master" ]
then
GIT_WORK_TREE=/srv/www/ssl_apps/APP git checkout -f
else
GIT_WORK_TREE=/srv/www/ssl_apps/APPtest git checkout -f
fi