Azure DevTest Lab : Création d’artefact

Azure DevTest Lab permet d’approvisionner et configurer facilement des VMs afin de jouer ses tests d’intégration par exemple (plus d’informations ici).
Lors de la création de VM, on a la possibilité d’appliquer des artefacts afin de configurer celle-ci. Plusieurs artefacts sont disponibles dans le Dépôt Public (installation de logiciels, rejoindre un AD, …)
Azure DevTest Lab - liste artefacts

Cependant, il peut arriver (et il arrivera) que vous ayez besoin d’appliquer une configuration ou de faire des actions sur une VM et que l’artefact ne soit pas présent. On va voir ici comment en créer un.

On va donc ajouter l’artefact « Remove Firewall », qui va mettre les firewalls a OFF sur la VM.

Création du repository GIT dans VSTS

On va commencer par se créer un repository GIT dans un projet VSTS dans lequel on mettra nos différents scripts. On va créer un dossier par artefact.

Azure DevTest Lab - Repository GIT

Création de l’artefact

Un artefact est composé de 2 fichiers :

  • Artifactfile.json : contient toutes les informations nécessaires à l’artefact, son nom, sa description, ses paramètres, …,
  • File.ps1 : Contient l’intelligence de l’artefact, en powershell.

Dans notre exemple, le fichier ArtifactFile.json sera :

{
"$schema": "https://raw.githubusercontent.com/Azure/azure-devtestlab/master/schemas/2016-11-28/dtlArtifacts.json",
"title": "Remove Firewall",
"description": "Set all Firewall to OFF",
"publisher": "ThomasCharrier",
"iconUri": "https://www.visualstudio.com/favicon.ico",
"targetOsType": "Windows",
"runCommand": {
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy bypass -File RemoveFirewall.ps1')]"
}
}

Et le fichier RemoveFirewall.ps1 (très compliqué…) :

#Set firewall to OFF
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Et c’est tout !
On push tout ça dans notre repository GIT dans le répertoire RemoveFirewall.

Création du dépôt d’artefact dans Azure DevTest Lab

On va maintenant créer au sein d’un Lab un dépôt privé dans lequel on pourra référencer notre artefact.

Commencer par sélectionner votre Lab, puis aller dans Configuration > Dépôts.

Cliquez ensuite sur ajouter et configurez :

  • Nom : Nom de votre dépôt,
  • URI GIT : URL de votre repository GIT dans VSTS,
  • Chemin du dossier : dossier ou se trouve vos artefacts.

Azure DevTest Lab - Création dépôt

Utilisation

On va maintenant créer une VM en référençant notre artefact.
Créer une nouvelle VM via le portail, dans la page de configuration de celle-ci, aller dans la page Artefacts. On voit maintenant le notre ! On le sélectionne en cliquant sur Ajouter et OK.

Azure DevTest Lab - Choisir artefact

La VM se construit et on peut voir dans la page Artefacts notre artefact qui s’est exécuté.

Azure DevTest Lab - Vérification application artefact

Résultat

Le résultat est donc que les firewalls de la VM sont désactivés. On peut faire un ping sur la VM et si on se connecte dessus, on peut voir que ils sont bien sur OFF.

Azure DevTest Lab - Vérification firewall

Conclusion

On a vu a travers ce rapide article que la création d’artefact pour Azure DevTest Lab est très simple et souple grâce à VSTS. En effet si vous modifiez le fichier powershell, les modifications seront automatiquement répercutées dans le portail Azure lors de la prochaine exécution de l’artefact sur une VM.

Si vous souhaitez créer le votre, vous pouvez également vous inspirez de ceux fournis par Microsoft à cette adresse.

Tags: Azure, Devops, DevTest, VSTS,

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *