在构建一些配方时,我们发现如果系统已经处于良好状态但更新仍然运行,则作为流程的一部分触发 apt_update 会大大减慢速度。
为了解决这个问题,我们使用 action :nothing 进行了 apt_update 调用,然后设置任何实际需要更新以通知 :before 或 :immediately 的内容(例如在安装包之前或添加 apt 存储库之后,尽管可以控制存储库案例添加时通过标志)。
我们想测试 apt_update 调用仅在必要时触发,并且不会作为不会安装包的收敛的一部分运行。
apt_update 'update' do
action :nothing
end
apt_repository 'git-core' do
uri 'ppa:git-core/ppa'
distribution node['lsb']['codename']
notifies :update, 'apt_update[update]', :immediately
end