mdklatt.tmpdir
临时目录 ######
|travis.png|
这个 Ansible 角色
_ 会创建一个临时工作目录,该目录将在剧本结束时自动删除。每个剧本只创建一个目录,无论该角色被包含多少次。
这个角色也可以在 Ansible Galaxy
_ 中找到。
============ 要求 ============
目标机器必须有 mktemp
命令。
============== 角色变量 ==============
tmpdir_root
: 根路径(必须存在);默认为系统临时目录tmpdir_template
: 用于创建目录名称;默认为tmp.XXXXXX
tmpdir_path
: 目录路径;在运行时创建tmpdir_force
: 以特权用户身份删除目录;默认为 false
root
和 template
变量应仅在剧本层面设置。一旦临时目录被创建,对这些变量的更改将不会产生影响。因此,使用该角色的其他角色不应依赖于能够修改这些值以用于他们自己的目的。
将 force
设置为 true 将允许清理处理程序删除任何被特权用户写入的文件。
================ 示例剧本 ================ .. 代码::
- 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
_ 框架进行跨平台测试:
.. 代码块:: 控制台
$ python -m molecule --all --parallel test
.. |travis.png| 图片:: 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 角色: http://docs.ansible.com/ansible/playbooks_roles.html#roles
.. _Ansible Galaxy: https://galaxy.ansible.com/mdklatt/tmpdir