2009-07-09 7 views
4

Je suis assez nouveau pour Subversion. La plupart de mon travail a été jusqu'à présent avec Visual Source Safe. Je cherche à améliorer mon processus de déploiement avec SVN et TeamCity. Ceci est mon plan:Flux de travail de déploiement d'applications Web avec SVN et TeamCity

Il y aurait trois branches:

  1. Développement (/ trunk) - solution complète de ASP.NET, y compris un projet de déploiement Web.
  2. Mise en scène (/ branches/mise en scène) - Déploiement Web sortie projet (fichiers nécessaires à l'exécution uniquement - bin, .aspx, images, etc.)
  3. déploiement (/ branches/déploiement) - comme Staging

Le processus CI:

  1. Validez les modifications de la source dans le circuit. TeamCity détecte le changement, construit la solution et exécute des tests unitaires.
  2. Si tous les tests réussissent, TeamCity valide la sortie du projet de déploiement Web vers les branches/stages et l'exporte vers wwwroot sur le serveur Web intermédiaire.

Puis, quand je suis prêt à déployer à la production, je ferai ce qui suit manuellement:

  1. branches de fusion/mise en scène avec des branches/production
  2. Mise à jour copie de travail du serveur Web de production de branches /production.

Est-ce que cela a du sens? Y a-t-il quelque chose qu'un utilisateur de VSS comme moi puisse manquer/malentendu dans ce processus?

+0

C'est le processus que j'utilise encore aujourd'hui - http://stackoverflow.com/a/3098613/26226 – jrummell

Répondre

2

Cela peut fonctionner pour vous, mais généralement, la scène est l'endroit où les clients acceptent les modifications. Si vous déployez sur chaque build ils n'obtiennent pas un comportement cohérent.

Nous ne conservons pas le résultat de construction en SVN. Pour nous, c'était correct de l'avoir dans Teamcity sous des artefacts. Je ne suis pas sûr si nous utilisons les meilleures pratiques à ce stade.

Vous serez tellement plus heureux avec SVN et Teamcity ... bonne chance!

+0

C'est un bon point sur la mise en scène. Je ne pense pas que ce soit un problème car je suis un développeur interne et nos "clients" sont principalement mon patron et un ou deux managers dans d'autres départements. Merci pour le conseil! – jrummell

+0

J'espérais obtenir au moins deux réponses avant d'en accepter une, mais puisque la vôtre est la seule, je l'accepterai. Non que je n'aime pas votre réponse, j'espérais seulement quelques opinions différentes. Merci! – jrummell

4

réponse tardive, mais peut être utile pour les lecteurs de ce fil:

Je l'ai fait un peu de recherche en ligne et a trouvé un tutoriel étape par étape qui peut aider à résoudre votre problème. Couvre les bases de l'intégration continue (CI) et les moyens de construire une nouvelle base de données chaque fois qu'une nouvelle modification est détectée dans le référentiel de contrôle source, exécute des tests unitaires spécifiés sur la base de données et synchronise la base de données testée avec l'environnement QA .

Le prérequis nécessaire pour implémenter l'intégration continue (CI) dans votre processus de développement de base de données est d'avoir une base de données sous contrôle de source.

Questions connexes