tmpdir
tmpdir ######
|travis.png|
Эта роль Ansible
_ создаст временный рабочий каталог, который будет автоматически удалён в конце выполнения. Создаётся только один каталог на выполнение, независимо от того, сколько раз эта роль включена.
Эта роль также доступна на Ansible Galaxy
_.
============ Требования ============
На целевой машине должна быть установлена команда mktemp
.
============== Переменные роли ==============
tmpdir_root
: корневой путь (должен существовать); по умолчанию используется временной каталог системыtmpdir_template
: используется для создания имени каталога; по умолчаниюtmp.XXXXXX
tmpdir_path
: путь к каталогу; создаётся во время выполненияtmpdir_force
: удаление каталога от имени привилегированного пользователя; по умолчанию false
Переменные root
и template
должны устанавливаться только на уровне плейбука. После создания временного каталога изменения этих переменных не будут иметь эффекта. Таким образом, другие роли, использующие эту роль, не должны зависеть от возможности изменять эти значения для собственного использования.
Установка force
в true позволит обработчику очистки удалять любые файлы, которые были записаны привилегированным пользователем.
================ Пример плейбука ================ .. code::
- hosts: all
roles:
- name: tmpdir
tmpdir_root: /tmp
tmpdir_template: tmp.XXXXXXXX
tasks:
- name: загрузка исходников tmpdir
unarchive:
src: https://github.com/mdklatt/ansible-tmpdir-role/archive/master.zip
dest: "{{ tmpdir_path }}"
copy: false
================= Рабочий процесс Molecule =================
.. _Molecule: https://molecule.readthedocs.io/en/stable/getting-started.html#run-a-full-test-sequence
Используйте фреймворк Molecule
_ для кросс-платформенного тестирования:
.. code-block:: console
$ python -m molecule --all --parallel test
.. |travis.png| image:: https://travis-ci.org/mdklatt/ansible-tmpdir-role.svg?branch=main
:alt: Статус сборки Travis CI
:target: travis
_
.. _travis: https://travis-ci.org/mdklatt/ansible-tmpdir-role
.. _Ansible role: http://docs.ansible.com/ansible/playbooks_roles.html#roles
.. _Ansible Galaxy: https://galaxy.ansible.com/mdklatt/tmpdir
ansible-galaxy install mdklatt/ansible-tmpdir-role