2011-03-01 2 views
0

J'essaye de déployer une application PHP en utilisant subversion et script post-commit. J'ai cherché comment écrire un script post-commit mais je n'arrive pas à le faire fonctionner.Essayer d'écrire un script post-commit subversion pour exporter PHP vers un dossier public

Configuration: J'ai un dossier svn installé sur mon serveur (OVH) dans homeX.XX/svn/test/

Mon script post-commit devrait exporter vers homeX.XX/dev/

Je ne sais pas comment écrire le bon chemin lors de l'utilisation

#!/bin/bash 
mkdir dev 
chmod 777 dev 
svn export svn+ssh://[email protected]/homeX.XX/XXX/svn/test dev 

dans mon script POST-COMMIT. J'ai cherché des réponses mais n'a pas trouvé une ...

Répondre

1

De la documentation SVN (here):

Le dépôt Subversion exécute des programmes de crochet avec un environnement que vide est, pas de variables d'environnement sont définis, pas même $ PATH.

J'ai été piqué par ce problème plusieurs fois. Fondamentalement, la façon la plus simple d'écrire des crochets de validation SVN, bien que pas très propre, est de coder en dur tous les fichiers et répertoires dont vous avez besoin en tant que chemins absolus.

Donc dans ce cas, votre script ressemblerait à quelque chose comme:

#!/bin/bash 

# SVN-related variables 
svnuser=XXXXX 
svnhost=www.xxxx.com 
svnpath=/homeX.XX/XXX/svn/test 

# Local paths 
exportpath=/homeX.XX/dev 

# Make export dir if it does not exist 
if [ ! -e "$exportpath" ] 
then 
    mkdir $exportpath 
fi 

# These permissions are very lenient! Are you sure you want this? 
chmod 777 $exportpath 

# Do the SVN export 
export svn+ssh://[email protected]$svnhost$svnpath $exportpath 
+0

Salut Chris, merci, je suis tombé sur ce script déjà mais ne pouvait pas le faire fonctionner. Je suis conscient du problème absolu du chemin d'accès, mais dans le script que vous avez posté, je ne comprends pas comment il se connecte à ssh ... Un script psot-commit a déjà des droits et n'a besoin que de fournir le nom d'utilisateur le svn + ssh: ... chaîne de caractères? –

+0

Jusqu'à, ne peut pas le faire fonctionner ... auriez-vous nous aimable de me dire comment puis-je obtenir la sortie d'erreur? Je vais avoir plus de chance, je sais où ça bugs ... –

Questions connexes