Question

J'ai un dossier www éclaté contenant l'intégralité de mon site Web php.

Je me demande si quelque chose comme ça est possible :

  • les développeurs ne travaillent pas directement sur les fichiers
  • les modifications sont testées localement ou sur un serveur intermédiaire
  • svn commits déclenche un événement qui synchronise les dernières modifications apportées au dépôt avec le dossier www

J'ai entendu parler des outils svnsync/svnexport mais comment puis-je les déclencher lors des commits ou les faire « écouter » mon dépôt ?

De plus, peuvent-ils mettre à jour uniquement les fichiers modifiés ?Mon dépôt est très gros.

Était-ce utile?

La solution

Les gens font ça si souvent que c'est dans la FAQ officielle de Subversion

Version courte:

  1. Faire votre www répertoire une copie de travail
  2. Créez un hook post-commit qui s'exécute svn update contre cette copie de travail.

Si votre serveur de référentiel n'a pas d'accès direct au serveur Web (ce qui ne devrait pas être le cas), vous feriez mieux d'utiliser ceci :

  1. Créer une copie de travail sur le serveur de référentiel ou un serveur intermédiaire
  2. Créez un hook post-commit qui s'exécute svn update contre cette copie de travail
  3. rsync cette copie de travail sur votre serveur Web (cela pourrait faire partie du script hook post-comit)

Encore un autre L'option serait d'utiliser un serveur d'intégration continue pour surveiller les modifications du référentiel et les déployer.En fait, c’est la meilleure façon de procéder pour la plupart des magasins.Vous utiliseriez le serveur CI pour mettre à jour un serveur intermédiaire, puis le pousseriez vers le serveur actif uniquement une fois les tests terminés.Ensuite, vos développeurs travailleront seulement dans une copie de travail locale qui leur est privée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top