2010-06-16 6 views
1

Je travaille pour une agence qui a été responsable de la maintenance du site Web .net 3.5 d'un client pendant plusieurs années avec une autre agence. Le travail est confié par le client aux deux agences sur une base plutôt ad hoc.Processus de déploiement pour le site maintenu par 2 entreprises

Le site est assez ancien et a une structure et un processus de déploiement à faire correspondre. Le site est configuré pour que les développeurs aient des copies locales des sites. Il y a un environnement de mise en scène, où les commentaires des clients et l'approbation se produisent, suivis de l'environnement en direct. Il existe un certain nombre de scénarios dans lesquels le travail d'une agence sera sur l'environnement d'attente en attente d'approbation, et les modifications de l'autre agence doivent passer par la mise en scène, l'approbation et le déploiement pour que les changements initiaux ne soient pas affectés. La plupart du temps nous nous en tirons mais c'est loin d'être idéal car tous les conflits ne peuvent pas être résolus. Jusqu'à récemment, nous étions encore sur Sourcesafe, mais nous sommes passés à Subversion et nous sommes confrontés à de nombreux autres scénarios où le travail est écrasé. Ce n'est évidemment pas une faute de subversion, mais plutôt que le verrouillage des projets et des fichiers dans Sourcesafe était un bon indicateur pour les développeurs des deux agences que quelqu'un travaillait sur ce projet ou fichier. Le processus précédemment était que vous avez extrait un fichier de sourcesafe et l'avez gardé vérifié jusqu'à ce que les changements soient actifs (reconnaissez que c'est un processus de poubelle d'où le désir de s'éloigner des sourcesafe et un tel modèle)

Le problème est que Même si nous savons que la façon dont nous le faisons actuellement est mauvaise, je ne sais pas comment restructurer l'ensemble du site et le processus de déploiement pour le rendre «meilleur». Quelques idées que nous avons médité sont:

  • dev séparé, branches d'essai et de vivre dans la subversion donc nous devons engager et construire la branche appropriée avant de déployer (pas vraiment sûr de savoir comment faire ce travail)
  • référentiel unique pour les deux agences, mais un environnement de mise en scène distinct pour chacun. environnement Staging pourrait alors refléter les changements attribués à chaque organisme
  • Une instance distincte du site de mise en scène pour chaque branche

Toutes les suggestions des prochaines étapes ou des exemples de situations similaires et des solutions de la communauté SO serait grandement appréciée !

Merci

Joel

Répondre

0

Je recommanderai:

  • Utilisez git, il est vraiment très bon pour travailler sur la façon de fusionner les changements. Ayez des environnements de stockage séparés pour chaque société, puis, une fois les modifications approuvées, fusionnez (avec précaution) dans un environnement de mise en scène final qui n'existe que pour aider à trier nos problèmes de fusion, puis pousser pour vivre.
  • Assurez-vous également que les deux agences sachent qui travaille sur quoi et essayez d'attendre que l'autre agence finisse de travailler sur la partie X de l'application jusqu'à ce que l'autre ait fini, c'est la meilleure solution, un peu de communication .
+0

Merci pour le commentaire. Je n'ai jamais utilisé git auparavant, donc je vais y jeter un coup d'œil. J'aime l'idée d'environnements intermédiaires séparés, mais comment verriez-vous le processus de fusion dans un environnement intermédiaire final? Est-ce que la configuration de (ou comment nous utilisons) subversion doit changer de simplement utiliser le tronc? – swingdoctor

+0

Désolé, jamais utilisé subversion, même si je sais que c'est populaire. Je vois que la zone de rassemblement finale est «tenue» par l'une des parties à la fois, tout en permettant aux zones d'échafaudage individuelles d'être testées. – thomasfedb

+0

Je pense que ce que nous allons faire avec est un environnement de test de split pour chaque entreprise ainsi que des dépôts de subversion distincts pour chaque entreprise. Nous aurons alors un environnement «pré-direct» pour intégrer et tester les changements avant de les déployer en direct. Il y aurait aussi un dépôt principal de subversion où nous pourrions fusionner lorsque nous enverrions quelque chose en direct ... subversion gère assez bien la fusion des branches. Nous essaierons cela mais, en théorie, cela ressemble à une approche valide qui résoudrait beaucoup, sinon tous, de nos problèmes. – swingdoctor

Questions connexes