This repository contains examples and best practices for building Ansible Playbooks for Azure.
-
Azure Account. If you don't have one, get a free one.
To authenticate with Azure, generate service principal and expose them as environment variables or store them as a file.
-
Install Ansible
-
Install Azure dependencies package
pip install ansible[azure]
-
Install azure_preview_modules role.
-
Install azure_preview_module role's dependencies packages.
pip install -r ~/.ansible/roles/Azure.azure_preview_modules/files/requirements-azure.txt
To run samples in your local environment,
git clone https://github.com/Azure-Samples/ansible-playbooks.git
cd ansible-playbooks
- modify playbook to replace variables with yours, such as resource group name.
- add Azure credential info by using one of the following options.
First option, set the following environment variables:
AZURE_CLIENT_ID=<service_principal_client_id>
AZURE_SECRET=<service_principal_password>
AZURE_SUBSCRIPTION_ID=<azure_subscription_id>
AZURE_TENANT=<azure_tenant_id>
Second option, add the following content to the file $HOME/.azure/credentials
:
[default]
subscription_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secret=xxxxxxxxxxxxxxxxx
tenant=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Third option, do a az login:
az login
ansible-playbook sample.yml
You also could develop your Ansible playbook and run it in Visual Studio Code.
Please refer to Coding Guideline on how to contribute.
Ansible role azure_preview_modules
Ansible Galaxy for example roles from the Ansible community for deploying many popular applications.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Sample playbooks in this repository are tested via travis CI, please see detail CI plan.