Ansible role for installing an Azure CLI (azure-cli
) into a Python3 VirtualEnv.
This role has been tested on Ansible 2.7.0+ against the following Linux Distributions:
- Amazon Linux 2
- CentOS 8
- CentOS 7
- Debian 10
- Fedora 29
- Fedora 30
- Fedora 31
- Ubuntu 18.04 LTS
The target server requires the following packages:
- python3
- python3 development packages
- python3 venv
- gcc
If you have any problems please create a GitHub issue, I maintain this role in my spare time so I cannot promise a speedy fix delivery.
Variable | Description | Default Value |
---|---|---|
azcli_version |
Use a specific version of azure-cli, eg. 2.0.78 . Specify false for latest. |
false |
azcli_install_dir |
Installation directory to put azure-cli virtual environments. | $HOME/.virtualenvs |
azcli_venv_name |
Name for the azure-cli Virtualenv. | azure-cli |
azcli_venv_suffix |
Add a custom suffix to virtualenv. | azcli_version |
azcli_venv_site_packages |
Allow venv to inherit packages from global site-packages. | false |
azcli_install_venv_helper |
Install a venv helper to launch venv executables from a "bin" directory. | true |
azcli_bin_dir |
"bin" directory to install venv-helpers to. | $HOME/bin |
azcli_install_os_dependencies |
Allow role to install OS dependencies. | false |
azcli_python3_path |
Specify a path to a specific python version to use in virtualenv. | NULL |
No dependencies on other roles.
Example playbook for installing to single user:
- hosts: azcli_hosts
roles:
- { role: xanmanning.azurecli, azcli_version: 2.0.78 }
Example playbook for installing the latest azure-cli version globally:
---
- hosts: azcli_hosts
become: true
vars:
azcli_install_os_dependencies: true
azcli_install_dir: /opt/azure-cli/bin
azcli_bin_dir: /usr/bin
azcli_venv_name: current
roles:
- role: xanmanning.azurecli
You need to activate the python3 virtual environment to be able to access az
.
This is done as per the below:
source {{ azure_install_dir }}/{{ azcli_venv_name }}/bin/activate
In the above example global installation playbook, this would look like the following:
source /opt/azure-cli/bin/current/bin/activate