Git Product home page Git Product logo

ansible-playbooks-1's Introduction

page_type languages products description
sample
yaml
azure
Examples and best practices for building Ansible Playbooks for Azure

Travis CI

Ansible Playbooks for Azure

This repository contains examples and best practices for building Ansible Playbooks for Azure.

Prerequisites

  • 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

How to run

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.

Using Azure cloud shell in Visual Studio Code

Azure cloud shell automatically logs you in your azure subscription so you need not to do anything extra other than login to cluod shell and run the ansible-playbook command with -e switch to provide resource_group_name variable value.

To be able to run Cloud Shell in Visual Studio Code, you will need to install Azure Account Extension in VS Code.

After installing the Azure Account extension, Login to cloud shell in VS code and clone this repository. Upload the Ansible Playbook you want to run to cloud drive and run the following command (replace yourusernameincloudshell with your username value). Make sure you also replace the playbook name and corrosponding variable name expected by playbook.

ansible-playbook /home/yourusernameincloudshell/create_virtualmachine_with_subnet_in_different_resource_group.yml -e "resource_group_name=ansible_test_rg"

How to Contribute

Please refer to Coding Guideline on how to contribute.

Resources

Ansible on Azure

Get Started with Azure

Ansible Playbook

Ansible role azure_preview_modules

Ansible Galaxy for example roles from the Ansible community for deploying many popular applications.

License

MIT License

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 [email protected] with any additional questions or comments.

Test

Sample playbooks in this repository are tested via travis CI, please see detail CI plan.

ansible-playbooks-1's People

Contributors

ashishrajsrivastava avatar caohai avatar dd5ht avatar fred-sun avatar imjoseangel avatar jamezrin avatar kyliel avatar lukibahr avatar microsoftopensource avatar msftgits avatar nidr0x avatar pipatji avatar puicchan avatar richeney avatar supernova-eng avatar yungezz avatar yuwzho avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.