Difference between revisions of "Ansible playbooks"
Tags: Mobile web edit, Mobile edit |
Tags: Mobile web edit, Mobile edit |
||
Line 16: | Line 16: | ||
Playbook using module <code>file</code><ref>https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module</ref>: | Playbook using module <code>file</code><ref>https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module</ref>: | ||
− | |||
− | |||
− | - hosts: REMOTE_SERVER_HOSTNAME | + | #!/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. | Important Note: dash symbol (-) and [[indentation]] has to be properly formatted. | ||
Revision as of 06:50, 5 April 2021
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: