2016-04-21 1 views
2

Voici l'histoire, j'utilise RedGate SqlCompare pour générer des scripts de mise à jour pour mon environnement de développement, chaque paquet ne contient que des changements de la version actuelle de Dev à Latest in contrôle de la source. Voici un exemple:Octopus déployer, j'ai besoin de déployer tous les paquets jusqu'à la dernière promotion QA

  1. Je crée une table (package-0.1) -> Déployer pour DevDB
  2. j'ajouter des colonnes (package-0.2) -> Déploiement à DevDB
  3. Je renomme une colonne (paquet-0,3) -> déploiement à DevDB

Mais une fois que je veux en faire la promotion à l'assurance qualité, il me fait problème parce qu'il ne favorise que paquet 0,3 dernière contenant seulement une partie des modifications (changement de nom de la colonne)

Donc je cherche un moyen de déployer tous les paquets avant le courant sur Promotion si c'est possible. Maintenant, j'ai résolu cela en créant un paquet personnalisé qui contient tous les scripts de changement, mais est-il possible de résoudre ce problème avec Octopus?

Merci Ihor

Répondre

4

chaque paquet ne contient que des changements de version Dev en cours à la dernière

La façon dont vous le faites va être douloureux pour vous SQL Comparer une approche basée sur l'état . Ce que vous voulez appliquer est l'approche basée sur les migrations. Vous pouvez voir Alex's post on the difference between two approaches.

SQL Source Control 5 viendra avec une meilleure approche des migrations qui fonctionnera avec l'outil de ligne de commande SQL Compare et DLM Automation tools. Cependant, la version bêta est malheureusement fermée pour le moment, mais je vous suggère de contacter l'équipe via l'adresse e-mail fournie ici.

L'autre option que vous avez est ReadyRoll qui a l'approche basée sur les migrations pures. Vous pouvez voir this post on its octopus deploy integration.