我不想跑bundle install
每次廚師客戶端我的應用程序運行在主機上我有一個bundle check
執行資源,如果包檢查失敗廚師:基於`execute`結果失敗通知
execute "bundle_check" do
cwd node[:app][:install_dir]
user "foo"
command 'bundle check'
action :run
returns [1]
notifies :run, "execute[bundle_install]", :immediately
ignore_failure true
end
該通知
bundle install
資源
我有ignore_failure true
屬性集,但我想知道是否有一種方法來配置notifies
屬性來根據返回值進行通知。本質上,我不希望bundle check
的返回值被認爲是失敗,並且我只想通知該值是否爲1。
爲'execute'的文件明確地警告說,不要這樣。 http://docs.opscode.com/resource_execute.html
「當使用not_if和only_if守護執行資源時,當前工作目錄屬性(cwd)不會從資源繼承。」 – julianc
這是關於PWD的警告(你沒有提到)。然後你需要'cd/path/to/gemfile && bundle check' – sethvargo
你真的需要做cwd,否則如果你使用rbenv或rvm,可能會選擇錯誤的ruby,所以bundler gem將不可用並且shell命令將始終舉報虛假。此外,您需要密碼,因爲Gemfile位於那裏,所以還有一個錯誤來源。 – sekrett