J'essaie d'utiliser un script bash (sh) sur Windows pour exécuter un déploiement de test. J'exécute le script à partir de la console gitbash afin d'avoir une copie de bash, mais cela signifie que le fichier Azure n'est pas disponible (c'est-à-dire que la commande Azure est introuvable). Est-ce que quelqu'un sait comment je peux faire fonctionner l'Azure cli dans GitBash (je suppose que je viens de l'installer ailleurs) ou dois-je changer de manière différente d'utiliser bash
Parfois, les commandes dans Windows git bash nécessitent l’ajout de .cmd. Aussi, une autre façon d’installer Azure-Cli est de Chocolatey https://chocolatey.org/
Essayez cette commande après l’installation d’Azure-Cli:
az.cmd --version
En écho mscrivo vous pouvez exécuter la ligne ci-dessous dans Git bash (elevated/admin)
ln -s "C:\Program Files (x86)\Microsoft SDKs"/Azure/CLI2/wbin/az.cmd "$SYSTEMROOT\az"
Vous devriez maintenant pouvoir exécuter:
az --version
La configuration d'un alias bash sur az.cmd
dans votre .profile
ou .bashrc
fonctionne si vous avez juste besoin d'exécuter az dans un shell bash interactif.
Toutefois, si vous souhaitez utiliser la commande az
à partir de scripts bash, l'alias ne fonctionnera pas. Ce que j’ai décidé, c’est de créer un lien symbolique vers az.cmd quelque part dans votre chemin, par exemple:
mklink "%SYSTEMROOT%\az" "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd"
Vous devez installer le CLI sur votre ordinateur . Il y a plusieurs façons de le faire.
Je suis un ami de NodeJS et j'utilise npm pour l'installation:
npm install -g Azure-cli
Plus de détails ici: https://www.npmjs.com/package/Azure-cli
Mais vous pouvez le faire aussi d'autres manières. Une façon très agréable est d'utiliser Docker. Il existe des conteneurs de Microsoft avec une version préinstallée d’Azure CLI.
docker run -it --name Azure Microsoft/Azure-cli
Sous Windows 10 avec Ubuntu Bash, vous pouvez utiliser:
echo "deb [Arch=AMD64] https://packages.Microsoft.com/repos/Azure-cli/ wheezy main" | \
Sudo tee /etc/apt/sources.list.d/Azure-cli.list
Sudo apt-key adv --keyserver packages.Microsoft.com --recv-keys 417A0893
Sudo apt-get install apt-transport-https
Sudo apt-get update && Sudo apt-get install Azure-cli
Ou comme un passionné de python
pip install --user Azure-cli
Le plus important est que le bac "az"/"az.bat" ou "Azure" soit disponible via votre variable de chemin.
En d'autres termes, Azure CLI pour Windows n'est pas compatible avec Git Bash pour Windows.
N'utilisez pas du tout le programme d'installation MSI. Etant donné que la CLI Azure est implémentée en Python, utilisez la méthode d’installation Python telle que l’a écrit @blndev. De cette façon, au lieu de az.cmd
, vous obtenez le script shell az.bat
et az
, et le chemin d'installation ne contiendra pas d'espaces.
pip install --user Azure-cli
Des informations plus détaillées sur cette méthode sont disponibles à l’adresse https://blogs.msdn.Microsoft.com/brijrajsingh/2017/03/02/installing-Azure-cli-2-0-on-windows/
Le lien symbolique a fonctionné pour moi la plupart du temps, mais certaines commandes échouent toujours, par exemple.
az dls fs access set-entry ...
'C:\Program' is not recognized as an internal or external command, operable program or batch file
J'ai essayé la solution de @ mscrivo. Lorsque vous utilisez la commande az dans un script Shell, vous rencontrez toujours des problèmes en raison des espaces dans le chemin . J'ai donc créé un fichier azproxy.cmd dans% SYSTEMROOT% contenant
@echo off
"C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd" %*
Et puis créez le mklink vers ce fichier
mklink "%SYSTEMROOT%\az" "SYSTEMROOT%\azproxy.cmd"
PS la valeur étendue de% SYSTEMROOT% ne doit pas contenir d'espaces bien sûr