2009-03-12 8 views
2

Je viens de configurer VisualSVN sur mon ordinateur local et sur notre serveur qui héberge nos sites Web. J'ai utilisé les paramètres par défaut standard lors de l'installation du logiciel, mais je suis un peu confus comment l'utiliser avec notre configuration.Configuration de SVN Visual pour une utilisation réelle

J'ai testé l'installation et tout semble fonctionner correctement. Dans Visual Studio 2008, je peux me connecter et valider les fichiers du site Web sur le serveur en utilisant "IP du dossier serveur/svn/domainname". Si je dirige mon navigateur vers l'url "IP du dossier server/svn/domainname" et entrez mon nom d'utilisateur et mot de passe, je vois une arborescence de dossiers avec tous les fichiers que je viens de télécharger. Alors que les bits fonctionnent bien.

Ma question est comment pourrions-nous tester le site que je viens de télécharger? Sur notre serveur, tous nos sites sont stockés dans des dossiers "C: \ sites \ domainname". Dans IIS, nous lions ce dossier au nom de domaine. Ainsi, lorsque quelqu'un saisit domainname.com, il obtient le bon site Web. Comment configurer l'installation du serveur Visual SVN pour me permettre d'utiliser la configuration "C: \ sites \ domainname" que nous avons actuellement?

Toute aide serait grandement appréciée car je suis totalement confus par cela.

Répondre

0

Vous pourriez faire un post-commit hook, qui SVN EXPORTER le serveur sur le chemin de déploiement.

+0

C'est ce que je dois faire bien. Merci pour l'aide Manuel. –

+0

SVN EXPORT exporte le code source ... il ne construit pas le projet pour vous. Je suppose que vous pourriez faire ce travail si vous mettez la sortie de compilation sous le contrôle de la source, mais ce n'est pas une pratique standard. –

+0

ENTENDU - ce projet vit pas au public pour l'instant en tout cas il nous permettra de commencer sur le développement en attendant le serveur dev pour être configuré pour nous. –

0

Il semble que vous deviez vérifier ces sites Web depuis Subversion vers le serveur Web. Mappez un lecteur virtuel dans IIS à ces dossiers.

Edité pour plus de clarté.

0

Je n'ai jamais utilisé VisualSVN, mais je pense qu'en général, avec SVN et les serveurs web, vous faites une extraction du code approprié dans C: \ sites \ domainname. Ensuite, lorsque vous voulez pousser le code sur le serveur, vous pouvez exécuter une mise à jour SVN sur ce répertoire (en supposant que les changements appropriés ont été poussés dans subversion). Évidemment, je voudrais tester cela en utilisant un domaine de test et un autre répertoire avant la main (ou simplement en parcourant un répertoire de test avec IIS). Personnellement, étant donné que j'utilise asp.net et C# et que j'utilise les projets de déploiement Web pour pré-compiler, je déplace généralement moi-même des builds au lieu de jouer avec SVN sur le serveur web. Avec des langages interprétés comme PHP, c'est plus simple.

Mon client svn sur les fenêtres est ToirtoiseSVN

+0

Cela ne fonctionnera pas comme VisualSVN utilise le port 80 pour son propre service apache –

0

Le problème est que subversion ne stocke pas les fichiers normalement sur le disque dur. Il utilise une base de données ou un système de fichiers virtuel pour stocker le fichier. Ceci est nécessaire pour les versions. Le moyen le plus simple est d'utiliser un client de ligne de commande subversion et d'écrire un petit fichier batch qui extrait la version tête de votre dépôt Subversion et copie les fichiers dans votre dossier IIS. Vous pouvez appeler le fichier batch périodiquement par un cronjob.

2

Je pense que vous êtes confus au sujet de ce que VisualSVN est:

VisualSVN Server est un package qui contient tout ce dont vous avez besoin pour installer, configurer et gérer le serveur Subversion pour votre équipe sur la plateforme Windows. Il comprend Subversion, Apache et une console de gestion.

C'est un paquet glissant qui contient tout ce dont vous avez besoin pour exécuter un serveur de contrôle de source Subversion sur une machine Windows. J'aime ça. Normalement, vous ne l'installez pas sur une machine qui héberge également des sites Web, et je ne le ferais certainement pas sur un site hébergeant des sites publics.

Subversion

est juste un système de contrôle de code source. Cela ne change rien à la façon dont vous déployez des sites.

+0

Salut Jamie, Pourriez-vous expliquer pourquoi vous pas installer Visual SVN sur un serveur d'hébergement des sites publics? J'en aurais sûrement besoin pour éviter de nous écraser les uns les autres au bureau lors du téléchargement de nouveaux contenus sur le site? Je suis nouveau à ce désolé si c'est une question stupide;) Merci, Rich –

+0

Parce qu'il place votre code source (à savoir la propriété intellectuelle) sur un serveur vulnérable. Il est typique que plusieurs développeurs commettent des changements de code source. Lorsque les modifications sont testées et acceptées, un processus de génération (manuel ou automatisé) génère et déploie le site sur le serveur d'hébergement. –

+0

Merci Jamie. Nous sommes en train de mettre en place un serveur local pour gérer tout notre développement avant le déploiement. Je viens de demander parce que je voulais vérifier si les problèmes que vous avez eu à faire avec des failles de sécurité dans le logiciel ou non. Merci pour vos commentaires :) –

2

À mon entreprise, nous avons accompli cela avec la solution suivante:

  • Mettre en place un hudson CI server pour construire nos produits sur une base régulière par sondage SVN
  • La construction des objets copiés dans un dossier comme c : \ artefacts dans une étape de construction dans la configuration du projet.
  • Nous avons ensuite fait un fichier de configuration apache personnalisé dans C: \ Program Files \ VisualSVN Server \ conf \ httpd-custom.conf (ne pas modifier httpd.conf, il est écrasé lors de mises à jour, etc.)

Nous avons ensuite ajouté ce qui suit à httpd-custom.conf:

LoadModule alias_module bin/mod_alias.so 
<Directory "C:/artifacts"> 
    Options Indexes 
    AllowOverride None 
</Directory> 

<IfModule alias_module> 
    Alias /artifacts C:/artifacts 
</IfModule> 

maintenant http://svn.example.com/artifacts/ agit comme site de test, et est mis à jour automatiquement chaque fois qu'un développeur engage code SVN.

Questions connexes