Question

Je suis en train de mettre en place un environnement complet de développement Web. Pour le moment, il existe deux développeurs, l'un dédié à la programmation backend (C #, .NET) et l'autre au développement frontend (HTML, CSS, XSLT).

Chacun d'entre eux dispose d'une installation de MS Visual Studio 2008 et d'une source partagée via Visual Source Safe 2005. Ils récupèrent les fichiers et se développent localement.

J'ai mis en place un serveur de test sur lequel le code fusionné et testé devrait finalement se terminer, et ce serveur devrait toujours être le "correct" " version.

Chacune des 3 installations partage les mêmes bases de données.

Je pense que cette configuration devrait évoluer un peu car je me prépare à accueillir un plus grand nombre de développeurs, mais nous avons beaucoup de problèmes de synchronisation des fichiers et un accès facile pour des modifications rapides. Nous avons souvent besoin de modifier certaines dispositions et conceptions assez rapidement pour finir par copier manuellement les fichiers sur le serveur de test (je ne veux pas de fichiers de code .NET / C # sur le serveur Web), et le site échoue: - (

Nous utilisons un système de gestion de contenu standard (CMS) pour créer tout notre travail frontal, et cela ralentit vraiment les choses si cela est inclus dans le coffre-fort de la source.

Je voudrais que tous nos travaux frontaux soient complètement séparés de notre code de base afin qu'il soit facile d'apporter des modifications.

Par exemple. nous aimerions apporter quelques modifications à la conception et la déployer rapidement dans notre environnement de production, sans penser au code .NET.

Est-ce qu'il me manque quelque chose ou quelle est la meilleure pratique pour configurer un environnement de développement Web?

Nous attendons de l'aide / expérience: -)

/ Thomas

Était-ce utile?

La solution

Vous devriez probablement rechercher un système de contrôle de version plus performant. SVN dispose d’un excellent support (notamment AnkhSVN et VisualSVN pour l’intégration VS2008) et les systèmes de contrôle de version distribués tels que Mercurial, Git ou Bazaar vous donneront encore plus d’options et le prix d’un support beaucoup plus fondamental des outils.

Vous aurez peut-être besoin de créer des branches faciles et la gestion des ressources pertinentes à l'aide du système de contrôle de version est grandement facilitée si vous pouvez les déployer facilement en production (c'est-à-dire, exécutez "svn up").

Autres conseils

Je ne peux pas vous aider avec des informations sur la gestion du contenu CMS, mais j'ai déjà installé ou utilisé plusieurs serveurs de génération.

Ayant travaillé avec Visual Source Safe dans de nombreux projets et avec Team Foundation Server dans certains cas, je m'en tiens à l'écart si je le peux.

Notre buildserver récent est constitué de scripts Nant qui extraient le source d'un référentiel Subversion. La construction elle-même est réalisée par MSBuild. Le résultat de la construction est ensuite copié sur la scène et la production.

Il devrait exister un moyen simple de transférer les modifications de base de données du développement à la phase et à la production. Nous avons un outil ( http://www.codeplex.com/ScriptDB ) qui écrit les dev- Base de données. Le résultat est vérifié dans Subversion. Il est facile de voir ce qui a changé dans le journal de Subversion.

  

Chacune des 3 installations partage les mêmes bases de données.

Cela semble être une mauvaise décision. Si dev1, dev2 et test utilisent tous la même base de données, comment dev1 peut-il essayer de modifier le schéma sans interférer avec dev2 et test (en supposant que le code permettant de travailler avec le schéma expérimental n’est pas encore archivé).

De plus, la base de données devient un point d’échec unique. Par conséquent, si quelqu'un supprime / tronque accidentellement une table cruciale, tout le travail s'arrête.

Idéalement, chaque environnement devrait avoir sa propre base de données. Si vous utilisez une base de données non libre comme Oracle, vous ne pourrez peut-être pas vous permettre de donner à chaque environnement son propre serveur, mais au moins chaque environnement devrait avoir son propre schéma.

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