作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有简单的 ansible 角色,可以执行以下任务:
这就是我的角色:
- name: Update apt cache
apt: update_cache=yes
- name: Install Tomcat 7
apt: pkg=tomcat7 state=present
- name: Configure tomcat memory/java_home configuration
template: src=tomcat7.j2 dest=/etc/default
- name: Configure tomcat server configuration, port, connections ssl etc
template: src=server.xml.j2 dest=/etc/tomcat7
notify:
- tomcat7-restart
此文件存储在角色/任务中,我的模板存储在角色/模板中
当我运行剧本时,我没有看到任何错误或警告,但是当去检查实际文件时,它没有更新,显示了 tomcat7 安装附带的默认内容。
如果你们知道我在这里做错了什么,请告诉我!
最佳答案
模板任务中的dest
参数应该是文件的完整路径,而不仅仅是目录路径。您将需要将您的任务更改为如下所示:
编辑:使用“通知”命令的正确方法是将其包含在每个任务中。这样,如果任一任务修改了其关联的文件,则将调用重新启动 tomcat 的处理程序,但如果两个文件均未修改,则将不会重新启动 tomcat。
- name: Configure tomcat memory/java_home configuration
template: src=tomcat7.j2 dest=/etc/default/tomcat7
notify: tomcat7-restart
- name: Configure tomcat server configuration, port, connections ssl etc
template: src=server.xml.j2 dest=/etc/tomcat7/server.xml
notify: tomcat7-restart
您还希望您的 Roles/tomcat7/handlers/main.yml 文件如下所示:
---
- name: tomcat7-restart
service: name=tomcat7 state=restarted
关于ansible - 默认安装tomcat7后模板不覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308796/
我是一名优秀的程序员,十分优秀!