所以我试着这样做:
ruby_block 'revision' do block do # Some code determines the branch to be deployed branch = 'master' node.run_state['branch'] = branch endenddeploy "#{node['path']['web']}" do action :deploy repository "#{node['git']['repository']}" revision "#{node.run_state['branch']}"end
但是,部署资源不会传递该变量.
这是正确的方法吗?有更好的或其他方式吗?
提前致谢!
解决方法 目前,Chef编译部署资源时,ruby_block资源尚未运行,因此未设置node.run_state [‘branch’].您必须将部署资源移动到ruby_block并动态定义它.ruby_block 'revision' do block do # Some code determines the branch to be deployed branch = 'master' node.run_state['branch'] = branch depl = Chef::Resource::Deploy.new node['path']['web'],run_context depl.repository node['git']['repository'] depl.revision node.run_state['branch'] depl.run_action :deploy endend总结
以上是内存溢出为你收集整理的ruby – Chef传递修订变量以部署资源全部内容,希望文章能够帮你解决ruby – Chef传递修订变量以部署资源所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)