gpt4 book ai didi

chef-infra - 如何使 Chef 与特定用户一起执行并加载其环境值

转载 作者:行者123 更新时间:2023-12-04 04:11:45 25 4
gpt4 key购买 nike

嗨,我正在创建一个WCS实例,对于该实例,我必须使用wcs用户(webadmin)执行create instance命令,因为它无法获取所需的env变量,因此无法连接到数据库。

,所以我放了一些示例代码来检查

我正在使用以下代码

bash "wcs-create-instance" do
user "webadmin"
group "webspher"
code <<-EOH
###{node[:websphere][:wcs][:wcs_installLocation]}/bin/config_ant.sh -DinstanceName=#{node[:websphere][:wcs][:wcs_instance]} CreateInstance
whoami > /tmp/whoami
env > /tmp/env
EOH
notifies :run, "bash[fix-permission]", :immediately
#This not_if is just temporary, a proper mechanism has to be implemented here to loop through all the WCS APars,
#For the POC keeping it neat and simple such that this does not rerun on execution
not_if {File.directory?("#{node[:websphere][:wcs][:wcs_installLocation]}/instances/#{node[:websphere][:wcs][:wcs_instance]}/starterstores")}
#action :nothing
end

对于whoami,我正在吸引用户

webadmin



但是对于env,我得到用户“root”的env,它没有为env变量提供.bash_profile。有任何想法吗

最佳答案

environment resource中有一个bash属性。或者,您可以在脚本中获取.bash_profile。那是one of the things you can do with bash(最后一个例子)

关于chef-infra - 如何使 Chef 与特定用户一起执行并加载其环境值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17614372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com