首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >salt堆栈:我可以使用file.manage来获取由另一个salt状态创建的文件吗?

salt堆栈:我可以使用file.manage来获取由另一个salt状态创建的文件吗?
EN

Stack Overflow用户
提问于 2014-11-28 14:24:00
回答 1查看 3.1K关注 0票数 0

noob salt堆栈问题

我有一个以salt状态( war文件)创建的文件,当该文件发生更改时,我希望将该文件复制到服务器的部署目录中。我认为file.managed是正确的方法,所以类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/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的上游散列”

有更好的方法吗?在一种状态下构建一个文件(所以它是本地的),然后在生成的文件发生变化时更新一个目标?谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-29 02:04:24

您需要将其改为file.copy,因为file.managed用于从salt主服务器或HTTP/FTP服务器获取文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/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,就像上面修改的状态一样,它假设您的构建状态定义如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
the_build_state:
  - cmd.run:
    ...
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27196649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文