playbooks/
Foo.yml
tasks/
Task1.yml
Task2.yml
AllTasks.yml
- import_tasks: tasks/Task1.yml
- import_tasks: tasks/Task2.yml
当我执行playbookfoo.yml
时,这可以非常好地工作。但是,当我执行位于其他位置的playbook(因此不是直接在这个playbooks
目录中)时,导入将不再工作。这样做的原因是它们的导入相对于导入的剧本所在的位置。
同样的情况也发生在使用其他模块的任务中,如复制。他们查找与剧本位置相关的文件。
有没有办法让我的任务为位于不同目录的剧本工作?
- import_tasks: "{{ current_dir }}/Task1.yml"
- import_tasks: "{{ current_dir }}/Task2.yml"
- import_tasks: "{{ inventory_dir }}/playbooks/tasks/Task1.yml"
- import_tasks: "{{ inventory_dir }}/playbooks/tasks/Task2.yml"
问:“playbook_dir变量,遗憾的是我无法重写它”
答:变量playbook_dir按预期工作(但在本例中不需要它;请参见下面的第二部分)
shell> cd /scratch/tmp
shell> cat Foo.yml
- hosts: localhost
tasks:
- import_tasks: "{{ playbook_dir }}/tasks/AllTasks.yml"
shell> cat tasks/AllTasks.yml
- import_tasks: "{{ playbook_dir }}/tasks/Task1.yml"
- import_tasks: "{{ playbook_dir }}/tasks/Task2.yml"
shell> cat tasks/Task1.yml
- debug:
msg: Task1.yml
shell> cat tasks/Task2.yml
- debug:
msg: Task2.yml
shell> cd /tmp
shell> pwd
/tmp
shell> ansible-playbook /scratch/tmp/Foo.yml
PLAY [localhost] ****
TASK [debug] ****
ok: [localhost] => {
"msg": "Task1.yml"
}
TASK [debug] ****
ok: [localhost] => {
"msg": "Task2.yml"
}
PLAY RECAP ****
localhost: ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
问:“更改Ansible查找文件的位置”
shell> cat Foo.yml
- hosts: localhost
tasks:
- debug:
var: ansible_search_path
- import_tasks: tasks/AllTasks.yml
shell> cat tasks/AllTasks.yml
- debug:
var: ansible_search_path
- import_tasks: Task1.yml
- import_tasks: Task2.yml
shell> cat tasks/Task1.yml
- debug:
msg: Task1.yml
shell> cat tasks/Task2.yml
- debug:
msg: Task2.yml
"ansible_search_path": [
"/scratch/tmp"
]
"ansible_search_path": [
"/scratch/tmp/tasks",
"/scratch/tmp"
]
"msg": "Task1.yml"
"msg": "Task2.yml"
问题内容: 例如,我的Ubuntu机器上正在运行MySQL服务器。最近24小时内某些数据已更改。 哪些(Linux)脚本可以找到最近24小时内已更改的文件? 请列出文件名,文件大小和修改时间。 问题答案: 要查找特定特定目录及其子目录中最近24小时(最后一整天)内修改的所有文件,请执行以下操作: 应该是你喜欢的 在之前是非常重要的-这意味着任何改变一天或更短前。相反,“ 之前” 表示至少一天前发生
我目前正在通过maven插件使用swagger-codesen:https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin.我已经设置了我希望使用
我想对小部件(Yii)的css文件进行更改。如果我不想更改核心文件,我必须将更改后的css放在哪里?
Ansible的一些的设置可以通过配置文件完成.在大多数场景下默认的配置就能满足大多数用户的需求,在一些特殊场景下,用户还是需要自行修改这些配置文件 用户可以修改一下配置文件来修改设置,他们的被读取的顺序如下: * ANSIBLE_CONFIG (一个环境变量) * ansible.cfg (位于当前目录中) * .ansible.cfg (位于家目录中) * /etc/ansible/an
问题内容: 有没有一种我可以用来简单地找到文件位置的方法?我正在尝试允许用户选择一个文件并打开它,但是我必须让JFileChooser仅选择该文件并将该位置发送到另一种方法。最好的方法是什么? 问题答案: javadoc show中的示例显示了执行此操作的步骤: 那是在做什么。取得结果并将其传递给另一种方法。