Question

Au travail, nous avons un serveur Windows 2003 avec IIS et Subversion installé. Nous l'utilisons pour publier et tester localement nos sites Web ASP.NET. Tortoise est installé sur tous les programmeurs et peut mettre à jour / valider le contenu sur le serveur. L'hébergement des référentiels fonctionne bien. Mais les fichiers conservés dans ces référentiels doivent ensuite être copiés dans nos IIS (répertoires virtuels) locaux.

Quel est un moyen simple de publier ces référentiels de subversion sur nos IIS locaux?

Modifier:
Merci à puetzk , j'ai ajouté un simple fichier bat qui est exécuté à chaque fois qu'une validation est effectuée (cochez la case documentation sur la sous-version concernant les hooks). Mon fichier chauve-souris contient uniquement:

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

endlocal
exit
Était-ce utile?

La solution

  1. Conservez simplement la zone de fichier du serveur Web en tant que copie de travail et exécutez-la à chaque fois que vous souhaitez "publier". Configurez-le pour masquer le contenu des dossiers .svn s'ils vous semblent désordonnés (je ne sais pas comment faire cela, mais je suppose que cela peut être fait). Ils auront déjà le bit caché du système de fichiers, ce qui pourrait s’occuper de cela.

  2. Si vous voulez que ce soit vraiment automatique (mises à jour dès que quelqu'un valide), utilisez un script de hook post-commit sur le serveur SVN pour lancer le premier processus.

D'autres personnes dans les commentaires ont suggéré d'utiliser export au lieu de commander. Cela peut fonctionner aussi et éviter le fouillis .svn, mais présente deux inconvénients. Premièrement, il doit retélécharger à nouveau le contenu entier à chaque fois, pas seulement les fichiers modifiés (car il n’a pas gardé le répertoire .svn pour se souvenir de ce qu’il contient). Si vous avez beaucoup de fichiers, cela sera beaucoup plus lent. Deuxièmement, update remplace le fichier de manière atomique (écrit la nouvelle version dans .svn / tmp, puis la déplace en place). Exporter écrit le fichier progressivement dans sa destination au fur et à mesure de son téléchargement. Cela signifie que l'export pourrait livrer un fichier incomplet à quelqu'un qui l'a parcouru au mauvais moment.

Autres conseils

SVN ne prend pas en charge IIS; vous pouvez toutefois exécuter le serveur autonome svnserve en tant que service Windows .

Il existe l'entrée de la FAQ SVN à ce sujet, et ce blog publier sur le blog Vertigo Software peut également être utile.

UPDATE: Après votre clarification, je vois que ce que vous recherchez est un moyen de mettre à jour automatiquement le code sur le serveur après l’enregistrement. Regardez dans CruiseControl.NET , après avoir consulté tutoriel d'intégration de subversion , il semble que vous devriez faire ce que vous voulez.

UPDATE 2: ce tutoriel décrit intégrant Subversion, CruiseControl.NET et Nant .

SVNIsapi peut peut-être résoudre le problème ( http://www.svnisapi.com ). Parce qu'il utilise uniquement une installation IIS, vous n'avez donc pas besoin d'un serveur APACHE ou d'un service SVNSERVER. Deuxièmement, il devrait être possible d’empiler le plug-in ASP.NET ISAPI sur le traitement de SVNISAPI, de sorte qu’une page ASP.NET (.aspx) soit interprétée après lecture du référentiel.

A bientôt Paolo

Utilisation peut utiliser le serveur Visual-SVN gratuit pour installer rapidement Subversion avec Apache. Il possède également un composant logiciel enfichable MMC pour la gestion du serveur et des référentiels.

Vous pourrez ensuite accéder à la sous-version avec HTTP ou HTTPS, mais le numéro de port doit être différent de celui utilisé par votre serveur IIS local (le port par défaut pour le serveur Visual-SVN est 8080).

Si vous devez vraiment accéder aux référentiels en utilisant votre port IIS local 80, vous pouvez essayer SVN-IIS qui agit comme un pont entre votre IIS et Apache. Je n'ai cependant pas essayé celui-ci moi-même.

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