Introduction à la ligne de commande Azure pour Mac et Linux
Sous Windows on utilise en priorité PowerShell pour scripter nos manipulations de Windows Azure. Mais n’oublions pas nos amis admins dont le système quotidien est Mac OS ou Linux : il y a aussi une ligne de commande pour eux. J’ai pour le moment juste commencé à tester la chose et voici comment cela se passe.
Je suis parti sur une VM de Ubuntu 13.04 Desktop 64 bits que j’avais sous la main, et de la page de téléchargement :
https://www.windowsazure.com/en-us/downloads/
J’ai vite compris qu’il était inutile de télécharger les sources de l’outil en question, mais qu’il était préférable de lire la doc :
Doc présente ici : https://www.windowsazure.com/en-us/manage/linux/how-to-guides/command-line-tools/
J’ai appris à mes dépens que l’outil Azure pour Linux nécessite une version de Node.js plus récente que celle que l’on peut installer depuis les packages officiels d’Ubuntu. Il faut donc utiliser un package plus récent. Sur les conseils de la documentation d’Azure, je me suis donc tourné vers cette page :
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
Suivant ses instruction, j’ai donc exécuté ces commandes, consistant à déclarer une nouvelle source de packages Ubuntu et à récupérer Node.js sur celle-ci :
sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Une fois Node.js et npm installés, il suffit d’installer azure-cli :
sudo npm install azure-cli -g
Et voilà !
Pour vérifier l’installation, lancer simplement la commande azure :
La liste des commandes possibles est affichée.
Reste ensuite, comme pour PowerShell, à récupérer un certificat pour s’authentifier sur notre abonnement Azure. Cela se fait en deux étapes, selon la méthode “Certificat généré par Azure” de l’article précédent pour PowerShell.
- Exécuter la commande : azure account download. Ou, ouvrir directement la page https://go.microsoft.com/fwlink/?LinkId=254432 dans le navigateur et télécharger le package (.publishsettings) [au passage, c’est ici que l’on s’authentifie].
- Importer le package avec la commande : azure account import <fichier.publishsettings> .
Ce qui donne dans mon exemple :
pascal@ubuntu:~$ azure account download
info: Executing command account download
info: Launching browser to https://go.microsoft.com/fwlink/?LinkId=254432
help: Save the downloaded file, then execute the command
help: account import
info: account download command OK
pascal@ubuntu:~$ azure account import Downloads/Windows\ Azure\ Internal\ Consum
ption-7-12-2013-credentials.publishsettings
info: Executing command account import
info: Found subscription: Windows Azure Internal Consumption
info: Setting default subscription to: Windows Azure Internal Consumption
info: Use "azure account set" to change to a different one.
info: Setting service endpoint to: https://management.core.windows.net/
warn: The 'Downloads/Windows Azure Internal Consumption-7-12-2013-credentials
.publishsettings' file contains sensitive information.
warn: Remember to delete it now that it has been imported.
info: Account publish settings imported successfully
+ Verifying account
info: account import command OK
Remarquez que le système est sympathique au point de nous rappeler qu’il serait bon de se débarasser du fichier .publishsettings une fois qu’il a servi. Finalement, il ne nous reste qu’à tester la configuration Azure, par exemple en listant les VM présentes grâce à la commande azure VM list :
pascal@ubuntu:~$ azure vm list
info: Executing command vm list
+ Fetching VMs
data: DNS Name VM Name Status
data: ---------------------------- --------------- ---------
data: pascals-win1.cloudapp.net pascals-win1 ReadyRole
data: pascals-ubuntu1.cloudapp.net pascals-ubuntu1 ReadyRole
info: vm list command OK
Ce n’est qu’un premier aperçu, mais il n’est pas exclus que je creuse un peu plus le sujet…