noob salt堆栈问题
我有一个以salt状态( war文件)创建的文件,当该文件发生更改时,我希望将该文件复制到服务器的部署目录中。我认为file.managed
是正确的方法,所以类似于:
/var/lib/tomcat7/webapps/app.war:
file.managed:
- source: /home/user/project/build/release/app.war
- user: tomcat7
- group: tomcat7
该文件是通过一个单独的状态构建的,该状态似乎运行正常。
当salt exec的state.highstate
时,输出“无法确定源文件/home/user/project/build/release/app.war的上游散列”
有更好的方法吗?在一种状态下构建一个文件(所以它是本地的),然后在生成的文件发生变化时更新一个目标?谢谢你的建议。
发布于 2014-11-29 02:04:24
您需要将其改为file.copy
,因为file.managed
用于从salt主服务器或HTTP/FTP服务器获取文件。
/var/lib/tomcat7/webapps/app.war:
file.copy:
- source: /home/user/project/build/release/app.war
- force: True
- user: tomcat7
- group: tomcat7
- require:
- cmd: the_build_state
至于将其链接到构建,您需要使用require
,就像上面修改的状态一样,它假设您的构建状态定义如下:
the_build_state:
- cmd.run:
...
https://stackoverflow.com/questions/27196649
复制相似问题