ruby – 如何在命令行中捕获值并添加到配方?
发布时间:2020-12-17 02:44:53 所属栏目:百科 来源:网络整理
导读:我是Chef和 Ruby的新手 我需要在命令行上将两个变量传递给Chef,并在配方中提供这些变量. 我如何捕捉这些价值观并将其送到厨师手中? 我需要这样的东西: before_deploy command execute param1 param2deploy{ param1/param2} param1和param2从命令行在运行时
我是Chef和
Ruby的新手
我需要在命令行上将两个变量传递给Chef,并在配方中提供这些变量. 我如何捕捉这些价值观并将其送到厨师手中? 我需要这样的东西: before_deploy command execute param1 param2 deploy{ param1/param2} param1和param2从命令行在运行时获取其值. 解决方法
通过运行配置机器时
chef-solo 要么 chef-client 您无法为这些命令提供任何参数,这些参数对于食谱是可见的. Chef配方仅适用于attributes.好东西(或不太好)是可以从许多不同的地方设置属性:角色,节点,环境和json文件. 与您的请求最接近的解决方法是 >在机器上创建一个json文件 例如:apache config. 创建json文件:my_attrs.json { "apache": { "listen_port": "81","listen_path": "/myapp" } } 然后在你的食谱中使用它们: node[:apache][:listen_port] node[:apache][:listen_path] 使用-j标志运行chef-client或chef-solo. chef-solo -j my_attrs.json 如果my_attrs.json在某个远程服务器上,那么您可以提供一个URL. chef-solo -j http://remote.host/path/my_attrs.json (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |