Difference between revisions of "Ansible playbooks"
Tags: Mobile web edit, Mobile edit |
Tags: Mobile web edit, Mobile edit |
||
Line 12: | Line 12: | ||
Add the following line <code>#!/usr/bin/env ansible-playbook</code> at the beginning of your playbooks and make it executable <code>chmod +x /path/to/your/playbook.yml</code> to execute without calling ansible-playbook binary. | Add the following line <code>#!/usr/bin/env ansible-playbook</code> at the beginning of your playbooks and make it executable <code>chmod +x /path/to/your/playbook.yml</code> to execute without calling ansible-playbook binary. | ||
− | === Ansible Playbooks Examples=== | + | === [[Ansible Playbooks Examples]]=== |
Create a new file ''touch /tmp/test_file.txt'', REMOTE_SERVER should be already present in your [[Ansible inventory]]:<code>/etc/ansible/host</code> | Create a new file ''touch /tmp/test_file.txt'', REMOTE_SERVER should be already present in your [[Ansible inventory]]:<code>/etc/ansible/host</code> | ||
Revision as of 06:55, 8 September 2020
Ansible playbooks[1] are written in YAML text files and define actions to execute against host/devices, check official Ansible playbook introduction: https://docs.ansible.com/ansible/devel/user_guide/playbooks_intro.html
Contents
Task definitions or Playbooks
Task definitions are defined in text files, called playbooks in Ansible terminology, in YAML format. Execution of task definitions or playbooks are make using ansible-playbook
command followed by your desired playbook to execute. Playbooks can also use Jinja templates to enable dynamic expressions and access to variables[2].
Ansible Playbook execution:
ansible-playbook my_new_created_playbook.yml
ansible-playbook my_new_created_playbook.yml -f 10
-f 10 parallelize 10 executions
-f forks
Create "Executable" Playbooks
Add the following line #!/usr/bin/env ansible-playbook
at the beginning of your playbooks and make it executable chmod +x /path/to/your/playbook.yml
to execute without calling ansible-playbook binary.
Ansible Playbooks Examples
Create a new file touch /tmp/test_file.txt, REMOTE_SERVER should be already present in your Ansible inventory:/etc/ansible/host
Playbook using module file
[3]:
#!/usr/bin/env ansible-playbook - hosts: REMOTE_SERVER_HOSTNAME tasks: - name: Ansible create a new file called test_fle.txt in /tmp directory file: path: "/tmp/test_file.txt" state: touch
Important Note: dash symbol (-) and indentation has to be properly formatted.
Additional examples:
Variables
You can use variables in your playbooks, check official documentation for further information: https://docs.ansible.com/ansible/devel/user_guide/playbooks_variables.html
Activities
- Read Ansible introduction to playbooks: https://docs.ansible.com/ansible/devel/user_guide/playbooks_intro.html
- Review different options for running playbooks, including:
--limit
- Review
--check
option - Review Ansible playbooks examples
See also
- Ansible: modules, plugins, Playbooks (examples)
ansible-playbook
,ansible-vault
,ansible-inventory
,ansible-config
, Ansible Tower, Ansible Galaxy (Roles) (ansible-galaxy
),ansible-cmdb
,gather facts
,ansible.cfg
,Ansible Molecule
, Ansible collections,register
,template
,--ask-pass
,--ask-become-pass
,remote_user:
,/etc/ansible/hosts
,ansible-doc
,ansible-lint
,.ansible/
,--forks
,--start-at-task
,changelog
,inventory
,Notify:
,ansible HOSTNAME -m ping
,gathering
,/usr/bin/ansible
,ansible -m ping
,ansible.builtin
,hosts: (Ansible)
,set fact:
,when:
,blockinfile:
,become method:
,include:
,git:
, AWX,ansible --help
, Tags, Ansible variables, versions
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.
Source: wikiversity
Advertising: