我正在使用 ansible 部署到服务器。
apt 阶段(它是 Ubuntu)即使已经安装了正确的版本也需要很长时间才能运行(我猜它只是运行并且看到不需要安装任何东西)
示例命令:
- name: set up apt packages
action: apt pkg=nginx=1.4.6-1ubuntu3.3 state=present update_cache=yes
(我有很多,所以需要一些时间)
有没有一种方法可以“找出” pkg 已经安装并更快地运行/跳过这个命令?
如果你设置
update_cache=yes
Ansible 将apt-get update
在每次运行时运行。Ansible 文档
通过删除
update_cache=yes
任务应该运行得更快,因为 Ansible 不需要等待apt
更新其存储库。另一种选择是注册一些由包使用
stat
模块创建的文件或路径。像这样的东西:有关更多示例,请参阅Ansible 文档。但我建议只删除
update_cache=yes
参数。