【发布时间】:2019-11-29 09:44:22
【问题描述】:
我编写了一个负责更改主管配置文件的任务。情况是,在某些服务器上,我们有多个运行工作程序的应用程序,因此有时需要将多个路径添加到 supervisor.conf 的 include 部分。
目前我在/roles/supervisor/tasks/main.yml/写了这个任务:
- name: Add apps paths in include section
lineinfile:
dest: /etc/supervisor/supervisord.conf
regex: '^files ='
line: 'files = /etc/supervisor/conf.d/*.conf /home/app/{{ app_name }}/releases/app/shared/supervisor/*.conf /home/dev/{{ app_name2 }}/releases/dev/shared/supervisor/*.conf'
when: ansible_hostname = 'ser-db-10'
notify: restart supervisor
tags: multi_workers
...并添加到/roles/supervisor/defaults/main.yml/ this:
app_name: bla
app_name2: blabla
它有效,但我不喜欢在line 中硬编码两个应用程序路径,也许我还应该添加变量来代替ser-db-10。
我想知道如何重建此任务以使其更加独立。
我的意思是,如果有 4 个应用,则添加 4 个路径,如果有 2 个应用,则添加 2 个路径。
最有效的方法是什么?
【问题讨论】:
标签: regex variables ansible supervisord