Question

J'en sais assez pour savoir que nous devons faire en sorte que notre application soit déployée avec une seule action. Cependant, je ne sais pas:

  1. Quels sont les bons outils à utiliser dans une boutique .NET?
  2. Comment gérez-vous les modifications de configuration pour chacun de vos environnements?

Quelqu'un peut-il m'indiquer de bonnes ressources pour une intégration continue? J'aimerais voir de la théorie ainsi qu'un guide pratique étape par étape.

Modifier:
J'ai besoin d'automatiser un déploiement Web dès maintenant; Cependant, j'aimerais aussi apprendre à faire cela pour les applications de bureau.

Était-ce utile?

La solution

J'ai écrit un article de blog qui pourrait être utile:

Projets de déploiement Web Visual Studio

Cela fait un an et demi, mais nous avons parlé de nouveaux modèles de projet (à cette époque) pour VS ainsi que d’un utilitaire de ligne de commande de l’équipe IIS appelé MSDeploy. Ils semblaient très prometteurs et ils semblaient parfaitement adaptés au ciblage de plusieurs configurations, à la synchronisation de plusieurs serveurs dans une batterie de serveurs et à un contrôle accru de la sortie réelle du déploiement de votre site Web.

Peut-être que les technologies ont également mûri.

Autres conseils

Le code XML d'installation de Windows a rencontré un vif succès. Fondamentalement, vous définissez les composants qui composent votre application en XML et WiX le transforme en un package MSI. La documentation est relativement rare, mais le fichier CHM fourni, associé à search fu, vous mènera loin.

Les packages MSI peuvent prendre des paramètres d'entrée pour les valeurs de configuration et effectuer des actions pour manipuler les fichiers de configuration après le déploiement de l'application. Par exemple, "msiexec / i MyCustomPackage.msi SqlServer = SomeSQLBox". pourrait déployer l'application Web et modifier l'entrée de configuration pour une boîte SQL dépendante.

Visual Build Pro de Kinook est un très bon outil pour un déploiement en un clic. Il est facile à utiliser et dispose de nombreuses fonctionnalités. Je l'utilise depuis des années. Bien sûr, il y a aussi NAnt, que je n'ai pas beaucoup utilisé.

En ce qui concerne la gestion des modifications de configuration, je gère plusieurs fichiers de configuration avec des extensions indiquant l'environnement de déploiement, puis je ne fais qu'un simple changement de nom en tant qu'étape de mon script de construction.

Par exemple, si je déploie sur Test, il est possible que je dispose d'un fichier de configuration appelé Web.test.config, qui est automatiquement renommé Web.config à l'aide du script de construction.

J'ai écrit un article de blog assez détaillé utilisant TeamCity et des projets de déploiement Web pour automatiser la création et le déploiement en tant que démarreur ici:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

J'ai ensuite ajouté à cela pour afficher l'addition FTP

http: // www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

Un flux de processus de base est assez simple:

  • En utilisant un serveur de génération teamcity, je télécharge depuis mon dépôt SVN
  • Je construis et déploie le site dans un dossier local sur le serveur de génération
  • Je déclenche un client FTP en ligne de commande prenant en charge la génération de scripts appelée
  • WinSCP utilisant la tâche MSBUILD EXEC (http://winscp.net/)
  • Télécharger tout le contenu de mes sites
  • Avoir [insérer la boisson] de votre choix

Je m'assure ensuite de ne déployer que le coffre de mon référentiel SVN, de développer et de tester tout ce qui se trouve dans une branche avant de procéder à la fusion - ainsi, seul le matériel testé est déployé. Ajoutez des tests automatisés à votre cycle de construction et vous obtenez une correspondance parfaite.

Quelques outils gratuits pour y aller sont:

Je vois deux questions différentes:

  • En ce qui concerne le déploiement: le déploiement ClickOnce devrait le faire. Vous venez de publier votre application de bureau en allant dans VS.net dans le menu Construire > Publier. VS.net compile ensuite une page Web et un fichier setup.exe. Lorsque les utilisateurs d'IE ou de Firefox et de .net 3.5 SP1 cliquent sur le lien, celui-ci s'exécute immédiatement. ClickOnce gère également les mises à jour pour vous et vous devez développer une API étendue.
  • L'intégration continue est une chose très différente. Je vous suggère de rechercher «CruiseControl.net» sur Google et de télécharger et d’essayer autant de ressources que possible. Il s’agit en gros d’un serveur de build, mais vous pouvez le connecter avec SVN, NUnit pour les tests, etc. Je ne suggérerais pas d'acheter un livre pour un produit aussi volatil. Il est préférable de le télécharger et d’essayer.

CruiseControl.NET pour votre solution ContinuousIntegration. Pour le déploiement, j'utilise un fichier de projet MSBuild. En plus de cela, je conserve tous les fichiers de configuration des serveurs. Je transmets à MSBuild à travers les paramètres une propriété de serveur qui indique à MSbuild les valeurs de configuration à utiliser, puis termine le déploiement. Le seul déploiement qui ne puisse être effectué directement à partir de CruiseControl est celui sur nos serveurs en direct. Nous quittons cette ligne de commande MSBuild simplement pour ne pas appuyer accidentellement sur un bouton. Une personne ayant accès au tableau de bord Web CC.NET le fait simplement en jouant.

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