# Microsoft Azure Xplat-CLI for Windows, Mac and Linux
This project provides a cross-platform command line interface for developers and IT administrators to develop, deploy and manage Microsoft Azure applications.
Note: The list of features may not be up-to-date. For accurate command details, type
azure -h |
azure --help to navigate through the help system. Also, use
azure config mode asm|arm to switch between service management (Version V1)and resource management (Version V2) of the Azure REST API.
The CLI targets "Public Azure Cloud" by default. You can get more information about the endpoints supported in different environments from here.
If you need to create an automation account for non interactive or scripting scenarios then please take a look at the documentation over here.
Please take a look at the list of supported environment variables over here.
sudo azure-uninstall -g
npm uninstall -g azure-cli
npm cache clear –g
~/.streamline, if present.
npm install –g <path to the downloaded tarball>
And you should be good to go :). Note: You may require admin prompt or sudo access to install via npm.
You can install the azure-cli npm package directly.
npm install -g azure-cli
This document provides simple steps to install the latest version of node.js on a linux system. After successful installation of node.js, you can install "azure-cli" via npm as decribed above.
In a Docker host, run:
sudo docker run -it microsoft/azure-cli
You can clone the repo and use the "Dockerfile" from master branch. It should install the last released version of azure-cli.
Auto-complete is supported for Mac and Linux.
To enable it in zsh, run:
echo '. <(azure --completion)' >> .zshrc
To enable it in bash, run:
azure --completion >> ~/azure.completion.sh# For macOS Terminal(login shell)echo 'source ~/azure.completion.sh' >> ~/.bash_profile# For Linux Terminal(non-login shell)echo 'source ~/azure.completion.sh' >> ~/.bashrc
To enable it in fish, run:
echo 'azure --completion-fish | source' >> ~/.config/fish/config.fish
If you use both mechanisms on the same subscription, Azure Active Directory authentication will be used by default. If you want to go back to management certificate authentication, please use
azure logout, which will remove the Azure Active Directory information and bring management certificate authentication back in.
# This will output an url and a device code for you to use browser to loginazure login# This will prompt for your password in the consoleazure login -u <your organizational ID email address># This will login in using a service principalazure login -u "<service-principal-id>" -p "<key>" --service-principal --tenant "<tenant-id>"
# Download a file which contains the publish settings information of your subscription.# This will open a browser window and ask you to log in to get the file.azure account download# Import the file you just downloaded.# Notice that the file contains credential of your subscription so you don't want to make it public# (like check in to source control, etc.).azure account import <file location># Use the commands to manage your services/applicationsazure site create --location "West US" mywebsite
# This will log you into the China Cloud environment.# You can use same set of commands to manage your service/applicationsazure login -u <your organizational ID email address> -e AzureChinaCloud
If you want to run xplat cli on Ubuntu, then you should install nodejs-legacy instead of nodejs. For more information please check the following links:
Please perform the installation steps in following order:
sudo apt-get install nodejs-legacysudo apt-get install npmsudo npm install -g azure-cli
Starting from 0.8.0, we are adding a separate mode for Resource Manager. You can use the following command to switch between the
They are not designed to work together.
azure config mode asm # service managementazure config mode arm # resource manager
Usage is the same as
vm create command:
azure vm docker create [options] <dns-name> <image> <user-name> [password]
This command only supports Ubuntu 14.04+ and CoreOS based images. Docker is configured on the VM using HTTPS as described here: https://docs.docker.com/articles/https/ By default, generated TLS certificates are placed in the
~/.docker directory, and Docker is configured to run on port 2376. These can be configured using new options:
-dp, --docker-port [port] Port to use for docker  -dc, --docker-cert-dir [dir] Directory containing docker certs [~/.docker/]
After the VM is created. It can be used as a Docker host with the
-H option or
DOCKER_HOST environment variable.
docker --tls -H tcp://<my-host>.cloudapp.net:2376 info
Note: To run docker commands on windows make sure ssl agent is installed.
azure site create --location "West US" mytestsite -vv
Say, use 'Fiddler', setup the following environment variables before execute commands.
set NODE_TLS_REJECT_UNAUTHORIZED=0set HTTPS_PROXY=
See this page for instructions that describe how to run the test suite.
For documentation on how to host Node.js applications on Microsoft Azure, please see the Microsoft Azure Node.js Developer Center.
If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.
Please send pull requests only to the Dev branch. Please make sure that you have checked in tests and recorded them live for your contribution. Pull requests without sufficient tests will not be accepted.
If you encounter any bugs with the library please file an issue in the Issues section of the project.