【发布时间】:2019-05-10 10:49:47
【问题描述】:
我正在使用 Ansible Galaxy 的 PM2 角色。角色如下所示:
roles:
- role: weareinteractive.pm2
vars:
pm2_apps:
- run: pm2.json
path: "{{ project_root }}/auth"
cmd: startOrGracefulReload
- run: pm2.json
path: "{{ project_root }}/graphql"
cmd ...
etc..
在 pm2_apps 下,我可以分配多个模块来运行。如何使用以下项目填充此结构:
app_modules:
- { module: "auth", "run": 1 },
- { module: "graphql", "run": 2 },
- { module: "upload", "run": 3 }
我只想把pm2_apps的路径改成:
path: "{{ project_root }}/{{ item.module }}"
在很多事情中,我尝试了:
pm2_apps:
- run: pm2.json
path: "{{ project_root }}/{{ item.module }}"
cmd: startOrGracefulReload
with_items: "{{ app_modules }}"
既然是角色,我不想重写它的任务。
【问题讨论】:
标签: list loops dictionary ansible variable-assignment