Voir le flux RSS

Hinault Romaric

Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services

Noter ce billet
par , 14/01/2017 à 16h01 (575 Affichages)
Dans l’un de mes précédents billets de blog, j’ai présenté les slots de déploiement dans Azure Web Apps. Leur intégration dans une stratégie de livraison continue est assez pratique. En effet, ils permettent d’éviter lors du déploiement d’avoir à arrêter son site Web et le redémarrer après le déploiement.

Nom : image6.png
Affichages : 502
Taille : 99,8 Ko

Le déploiement peut se faire dans un premier temps sur un slot intermédiaire, ensuite un swap automatique est effectué pour passer le récent déploiement en production. La version initialement en production sera rétrogradée sur le slot intermédiaire. De ce fait, en cas de problème en production, vous serez en mesure de switcher en quelques secondes et refaire passer la version précédente en production.

Pour mettre cela en œuvre, vous devez ajouter à votre projet le script PowerShell suivant, qui permettra d’effectuer l'échange des emplacements après le déploiement. Rassurez-vous que ce script soit copié dans le répertoire de génération de votre application, avant de commiter ce dernier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
param (
  [string] $AzureWebsiteName,
  [string] $From,
  [string] $To
)
Switch-AzureWebsiteSlot -Name $AzureWebsiteName -Slot1 $From -Slot2 $To -Force -Verbose
Ensuite, vous devez modifier votre Build definition et ajouter une nouvelle tâche de type Copy Files. Cette dernière permettra de copier le fichier PowerShell dans le dossier qui est utilisé comme source pour publier l’artefact. Vous devez donc renseigner le dossier dans lequel se trouve le fichier PowerShell et le dossier de destination.

Nom : image7.png
Affichages : 51
Taille : 75,5 Ko

Ceci fait, vous devez modifier la tâche Azure Web App Deployment pour ajouter le nom du slot (staging) que vous avez créé précédemment à partir du portail Azure.

Nom : image8.png
Affichages : 48
Taille : 41,5 Ko

Ensuite, vous devez ajouter une nouvelle tâche à cette release, qui se chargera d’exécuter le script PowerShell de Swap.
Vous devez donc renseigner l’emplacement du script PowerShel dans le champ Script Path, et passer en paramètre dans la zone Script argument le nom de votre website Azure, le slot de départ et le slot de destination :

-AzureWebsiteName Sampledevapp -From staging -To production

Nom : image9.png
Affichages : 53
Taille : 37,4 Ko

Ainsi, chaque fois qu’un déploiement automatisé sera lancé, votre application sera déployée dans un premier temps sur le slot staging et ensuite il y aura un swap avec le slot de production, faisant passer l’application en production de façon transparente et sans aucune interruption. Et en cas de problème en production, un swap en quelques clics à partir du portail Azure permettra de faire repasser la version précédente en production.

Pour en savoir plus sur VSTS, je vous conseille de lire mes billets :


Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Viadeo Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Twitter Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Google Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Facebook Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Digg Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Delicious Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog MySpace Envoyer le billet « Azure Web Apps : slot de déploiement et livraison continue avec Visual Studio Team Services » dans le blog Yahoo

Commentaires