我有一个ansible配置,用于将本地构建的守护进程部署到一系列目标计算机,这些守护进程具有关联的systemd服务文件来控制它们。
我想要发生的是:
我在几个地方这样做,所以我有一个常见的重复模式,如下所示:
- name: Populate the daemon
copy:
src: "local_build/mydaemon"
dest: "/usr/bin/mydaemon"
mode: 0775
register: daemon_bin
- name: Populate the service
template:
src: "Daemon.service"
dest: "/etc/systemd/system/mydaemon.service"
register: daemon_service
- name: Enable and restart
systemd:
state: restarted
daemon_reload: yes
enabled: yes
name: "mydaemon.service"
when: (daemon_bin.changed or daemon_service.changed)
- name: Enable and start
systemd:
state: started
enabled: yes
name: "mydaemon.service"
when: not (daemon_bin.changed or daemon_service.changed)
有更清洁的方法来实现这一目标吗?感觉这可能是一个常见的问题。或者我的方法有点不对劲?