salt 执行命令等待_saltstack – 延迟执行命令,直到运行其他东西

我正在尝试使用salt编写部署脚本.它主要起作用.为了让它一直工作,我必须运行多次高频状态.我最大的问题是如何根据特定的第一个执行命令,并实际完成/工作.

这是我的demo.sls salt状态:

{% set web_root = "/var/www/demo/" %}

/var/www/venv/demo:

virtualenv.managed:

- system_site_packages: False

- require:

- pkg: python-virtualenv

demo:

git.latest:

- name: git://localhost/demo.git

- target: {{ web_root }}

demo_pip:

cmd.wait:

- name: 'source /var/www/venv/demo/bin/activate && pip install -r requirements.txt'

- cwd: {{ web_root }}

- watch:

- git: demo

run_migrations:

cmd.wait:

- name: 'source /var/www/venv/demo/bin/activate && python manage.py syncdb --noinput'

- cwd: {{ web_root }}

- watch:

- cmd: demo_pip

restart_gunicorn:

cmd.wait:

- name: supervisorctl restart gunicorn

- watch:

- cmd: run_migrations

我设置它以便demo_pip在git调用之后运行(效果很好),但说实话,demo_pip实际上并没有运行. salt的输出是它运行的,但是没有安装requirements.txt中的任何要求.

我试图将这些要求放在virtualenv.managed部分中,以便运行它,但我必须在那时运行2个高位. 1)从git获取最新版本,似乎运行bot独家2)安装要求.出于某种原因,即使在演示之后放入virtualenv.managed部分,它仍然没有注册新的需求文件.

我使用错误的cmd吗?或者我有订单问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是SaltStack常用命令: - salt '*' test.ping - salt-run manage.up - salt '*' state.highstate - salt '*' state.sls <sls_file> - salt-key -L - salt-key -A - salt '*' network.ip_addrs - salt '*' network.interfaces - salt '*' network.traceroute <hostname> - salt '*' network.ping <hostname> ### 回答2: SaltStack 是一个基于Python编写的运维工具,用于配置管理、远程执行命令、软件部署等任务。以下是一些常用的SaltStack命令: 1. salt 'minion_id' test.ping:检测指定minion是否在线,返回True或False。 2. salt 'minion_id' cmd.run 'command':在指定minion上执行命令,并返回输出结果。 3. salt 'minion_id' state.apply 'state_name':应用指定的state,用于执行配置管理任务。state文件定义了目标服务器的配置状态。 4. salt 'minion_id' pkg.install 'package_name':在指定minion上安装软件包。 5. salt 'minion_id' service.start 'service_name':启动指定minion上的服务。 6. salt 'minion_id' grains.get 'grain_name':获取指定minion的指定grain(系统信息)的值。例如,grains.get os 可以获取操作系统类型。 7. salt-key:用于管理SaltStack中minion的key。使用该命令可以接受(accept)、拒绝(reject)或删除(delete)minion的key。 8. salt-run manage.up:列出已连接的minion。 9. salt-run jobs.active:列出正在运行SaltStack作业。 10. salt-run jobs.list_jobs:列出所有已完成的SaltStack作业。 这些命令只是SaltStack中的一小部分常见命令SaltStack提供了非常丰富的命令和功能,可以根据具体需求来灵活运用。 ### 回答3: SaltStack 是一个开源的自动化运维工具,常用于配置管理和远程执行任务。下面是一些常用的 SaltStack 命令: 1. salt "*" test.ping:用于测试所有 Salt Minion 是否在线。返回值是一个布尔值,表示 Minion 是否可达。 2. salt "*" grains.items:获取所有 Minion 的 grains(系统信息),包括操作系统、CPU、内存等信息。 3. salt "*" cmd.run "hostname":在所有 Minion 上执行命令,此处是获取主机名。可以替换 `hostname` 为其他任意命令。 4. salt "*" state.apply <state_name>:应用某个状态文件。`<state_name>` 是状态文件的名称,可以是单个文件或者目录。 5. salt "*" pkg.install <package_name>:在所有 Minion 上安装指定的软件包。`<package_name>` 是软件包的名称。 6. salt "*" service.start <service_name>:启动指定的服务。`<service_name>` 是服务的名称。 7. salt "*" file.get <file_path>:获取某个文件的内容。`<file_path>` 是文件的路径。 8. salt "*" file.append <file_path> text=<text>:在某个文件的末尾追加文本。`<file_path>` 是文件的路径,`<text>` 是要追加的文本。 9. salt "*" cmd.script <script_path>:在所有 Minion 上执行指定的脚本。`<script_path>` 是脚本的路径。 10. salt "*" network.interfaces:获取所有 Minion 的网络接口信息。 以上是一些常用的 SaltStack 命令,可以帮助进行系统配置管理和任务自动化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值