我想根据标志部署到不同的目录。
我看到有--extra-vars
一个允许传递变量的
也就是说,--extra-vars "flag=test"
或者--extra-vars "flag=prod"
现在我想根据这个标志使用 test_* 或 prod_* 变量。
vars:
test_dirs: ["/dataVolumes/dev/deployments/", "/dataVolumes/qa/deployments/"]
prod_dirs: ["/dataVolumes/preprod/deployments/", "/dataVolumes/prod/deployments/"]
假设有两个步骤,删除旧文件和复制新文件。
有没有办法做类似以下的事情?
-
name: delete old files
file:
state:absent
path:"{{item}}"
with_items: "{{ test_dirs if flag == 'test' else prod_dirs }}"
-
name: copy new files
copy:
src: /opt/ansible/
dest:"{{item}}"
with_items: "{{ test_dirs if flag == 'test' else prod_dirs }}"
就像条件运算符一样,在两个列表之间进行选择?