我尝试添加:
mypack:
pkg:
- installed
- pkgs:
- mercurial
- git
cmd.run:
- name: 'mkdir -p /opt/mypack'
cmd.run: 'hg pull -u -R /opt/mypack || hg clone -R /opt https://...'
cmd.run: 'ln -s /opt/mypack/etc/init.d/xxx /etc/init.d/xxx'
但由于某种原因,该状态似乎执行/安装,但命令未执行,或者至少不是全部。
我需要一个解决方案来运行多个命令,并在其中任何一个命令失败时使部署失败。
我知道我可以编写一个 bash 脚本并包含此 bash 脚本,但我一直在寻找一种仅适用于 YAML 文件的解决方案。
你要这个:
cmd-test:
cmd.run:
- name: |
mkdir /tmp/foo
chown dan /tmp/foo
chgrp www-data /tmp/foo
chmod 2751 /tmp/foo
touch /tmp/foo/bar
或者我更喜欢这个,其中脚本是从主服务器下载的:
cmd-test:
cmd.script:
- source: salt://foo/bar.sh
- cwd: /where/to/run
- user: fred
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)