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, …)
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.
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.
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.
La VM se construit et on peut voir dans la page Artefacts notre artefact qui s’est exécuté.
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.
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.