0
hosts_vars
파일에 포함 된 변수 목록 (to_install
이하)을 사용하여 deploy.yml
안내서를 제공합니다. 내 hosts_vars
:가능 : 변수 이름 조작
---
clients:
cl1:
to_install:
- banana 8.1
- Firefox 46.0.1
to_uninstall:
- null
내 각본 :이 다음 명령을 플레이 실행
- name: Deploy
hosts: win_clones
vars_files:
- ./hosts_vars
tasks:
- name: Fetching and copying the file on the client ...
win_get_url:
url: 'ftp://172.20.0.5/choco-repo/{{ item }}'
dest: 'C:\Test\{{ item }}'
with_items: "{{ clients[machine].to_install }}"
- name: Installing the package ...
win_chocolatey:
name: "{{ item }}"
state: present
with_items: "{{ clients[machine].to_install }}"
: 내 플레이 북의 첫 번째 작업을 위해
ansible-playbook deploy.yml -e machine=cl1
을 내가 사용 win_get_url
나는 것 내 변수 이름을 다음과 같이 변환하려고합니다 :
나는 win_chocolatey
사용하며 (버전 번호없이) 단지 변수의 이름을 통과하기 위해 충분하다 :
banana
Firefox
나는 마법해야
with_items: "{{clients[machine].to_install }}"
에서 일어나는 것 같아요. 나는 책임감있게 그것을 어떻게 할 수 있는가?
덕분에,이 첫 번째 작업 작동합니다. 두 번째 작업을 수행하려면 어떻게해야합니까? 즉 버전 번호를 제거하여 이름 만 갖게하려면 어떻게해야합니까? – diegus
정확히 내가 처음에했던 것처럼 regex_replace로 재생합니다. 바르게 할 일이 없다면 재미 없을 것입니다. 당신을 도울 수있는 해결책을 찾지 못한다면, 당신을 도울 수 있다고 생각합니다. –
글쎄, 그것은 단지'debug : msg = "{{item | regex_replace ('', ''}}}" "를 사용하여 작동하지만 이상하게 보입니다. 이 공간 만 제거하지 않습니까? 그래서 나는 banana8.1과 Firefox46.0.1을 얻어야합니다. – diegus