我正在尝试使用 Ansible 提供的变量机制在家测试一些东西,我即将在我的工作项目之一中实现该机制。所以,现在已经搜索了一段时间,但似乎我无法让它那么容易地工作,即使到处都有其他人的解决方案。
我现在将通过在家中演示我的测试目录和文件结构来代表我的项目逻辑。情况如下,我有以下剧本:
main.yaml
pl1.yaml
pl2.yaml
Run Code Online (Sandbox Code Playgroud)
./main.yaml 的内容:
- import_playbook: /home/martin/ansible/pl1.yaml
- import_playbook: /home/martin/ansible/pl2.yaml
Run Code Online (Sandbox Code Playgroud)
./pl1.yaml 的内容:
- name: Test playbook 1
hosts: localhost
tasks:
- name: Discovering the secret host
shell: cat /home/martin/secret
register: whichHostAd
- debug:
msg: "{{ whichHostAd.stdout }}"
- name: Discovering my hostname
shell: hostname
register: myHostnameAd
- set_fact:
whichHost: "{{ whichHostAd.stdout }}"
myHostname: "{{ myHostnameAd.stdout }}"
cacheable: yes
- name: Test playbook 1 part 2
hosts: "{{ hostvars['localhost']['ansible_facts']['whichHost'] }}"
tasks:
- name: Structuring info
shell: …Run Code Online (Sandbox Code Playgroud)