使用Chef将当前部署的提交哈希写入version.txt文件的最佳方法是什么,类似于Etsy的工作方式?这就是我想出来的。
execute "update_version" do
command git log -1 --format="%H" > public/version.txt
creates "#{app_config['deploy_dir']}/current/public/version.txt"
owner app_user
group app_group
action:run
end
答案 0 :(得分:1)
owner app_user
group app_group
可能无法在执行资源中工作 http://wiki.opscode.com/display/chef/Resources#Resources-Execute
我可能会做类似
的事情bash "update_revision" do
code "git log -1 --format="%H" > public/version.txt"
creates "#{app_config['deploy_dir']}/current/public/version.txt"
end
file "public/version.txt" do
owner app_user
group app_group
mode 0644
end
或者您也可以使用类似
的内容创建模板<%= shell_out!('git log -1 --format="%H"') %>
并使用类似
的模板资源template( "public/version.txt") do
owner app_user
group app_group
mode 0644
end