默认安装 tomcat7 后,模板未被覆盖
Template is not overriding after the default installation of tomcat7
我有执行以下任务的简单 ansible 角色:
- 安装tomcat7
- 更新 /etc/default/tomcat7 - 这是为了配置堆和其他配置
- 更新 /etc/tomcat7/server.xml - 这会将 tomcat 端口从 8080 覆盖到 80
- 重新启动 tomcat 服务
我的角色是这样的:
- 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
此文件存储在 roles/task 中,我的模板存储在 roles/template
中
当我 运行 剧本时,我没有看到任何错误或警告,但是当去检查实际文件时它没有更新,显示 tomcat7 安装附带的默认内容.
如果你们知道我在这里做错了什么,请告诉我!
模板任务中的dest
参数应该是文件的完整路径,而不仅仅是目录路径。您需要将任务更改为如下所示:
编辑:使用 "notify" 命令的正确方法是将其也包含在每个任务中。这样,如果任一任务修改了其关联文件,则将调用重新启动 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
- 更新 /etc/default/tomcat7 - 这是为了配置堆和其他配置
- 更新 /etc/tomcat7/server.xml - 这会将 tomcat 端口从 8080 覆盖到 80
- 重新启动 tomcat 服务
我的角色是这样的:
- 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
此文件存储在 roles/task 中,我的模板存储在 roles/template
中当我 运行 剧本时,我没有看到任何错误或警告,但是当去检查实际文件时它没有更新,显示 tomcat7 安装附带的默认内容.
如果你们知道我在这里做错了什么,请告诉我!
模板任务中的dest
参数应该是文件的完整路径,而不仅仅是目录路径。您需要将任务更改为如下所示:
编辑:使用 "notify" 命令的正确方法是将其也包含在每个任务中。这样,如果任一任务修改了其关联文件,则将调用重新启动 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