2013-08-21 4 views
0

Imaginez que j'ai un scénario de livraison continue vanille avec une application Web Java.Scénario de livraison continue - mise en œuvre de la restauration

Ce scénario a: - un serveur de build en cours d'exécution cruisecontrol - un serveur Web exécutant Tomcat avec le gestionnaire tomcat en cours d'exécution

L'une des cibles Ant en cours d'exécution sur le serveur de build construit un fichier de guerre et utilise ensuite catalina- Vous pouvez déployer le serveur Web à distance à l'aide du gestionnaire Tomcat. Pour être vraiment utile, nous devons être en mesure d'annuler le déploiement. Compte tenu de cette configuration de vanille, de quelles pièces de puzzle ai-je besoin pour revenir à la dernière bonne configuration connue?

Répondre

2

Les principaux outils semblent être AntHill Pro et UDeploy (tous deux provenant de UrbanCode - qui fait maintenant partie d'IBM). Il semble que Anthill OS a été retiré. Il semblerait que Go CD Sever puisse également être utilisé pour cela.

0
  1. Go pour l'approche build-fois-deploy-plusieurs fois

  2. Maintenir vos fichiers binaires (fichiers de guerre) dans certains dépôt (disons 10 derniers builds)

  3. Gardez une trace de la version Il est actuellement déployé

  4. nouvelle version rollback, simplement redéployer forme ancienne version # 2 sur la base # 3

+0

Bien sûr - comment implémenterais-je # 4? Ou proposez-vous que les restaurations sont effectuées manuellement à partir d'une archive? – hawkeye

0

vous pouvez essayer un peu différente approche, les étapes sont les suivantes: 1.
permet de supposer que vous avez dossier appelé/opt/guerres
2. Dans ce dossier, vous avez subfoders avec les versions, par exemple

/opt/wars 
     |-my-server-0.0.1/ 
     |--my-server.war 
     |-my-server-0.0.2/ 
     |--my-server.war 
     |-my-server-0.0.3/ 
     |--my-server.war 
     |-current --> my-server-0.0.3 

3. avant le déploiement vous créez toujours nouveau dossier avec la nouvelle version, par exemple Version 0.0.4

/opt/wars 
     |-my-server-0.0.1/ 
     |--my-server.war 
     |-my-server-0.0.2/ 
     |--my-server.war 
     |-my-server-0.0.3/ 
     |--my-server.war 
     |-my-server-0.0.4/ 
     |--my-server.war 
     |-current --> my-server-0.0.3 

4. utiliser une fois voir cette version est prêt, vous devrez changer de lien « en cours » à mon serveur-0.0.4 dossier
5. en cas d'annulation, vous pouvez passer à la copie précédente, juste en changeant le lien.

+0

Merci - suggérez-vous que je devrais recréer ces dossiers manuellement? – hawkeye

+0

réponse tardive, vous devez les créer à l'aide d'un script – olexii

0

Envisagez CloudMunch pour résoudre ce problème. CloudMunch stocke l'historique complet de vos constructions et des artefacts qui y sont liés et vous permet d'effectuer une recherche par balise pour obtenir la bonne construction (au-delà de la dernière meilleure construction avec un défaut donné fixe etc.)

Une fois que vous choisissez la construction, en l'absence de tout serveur SQL, la restauration serait beaucoup plus simple. Si vous avez une base de données, référez-vous à ma réponse pour gérer les modifications SQL de façon incrémentielle - How to continuously delivery SQL-based app?

Avertissement: Je travaille chez CloudMunch.