2013-07-12 32 views
8

Xin chào Tôi đang tạo một cá thể WCS, mà tôi phải thực hiện lệnh tạo cá thể bằng cách sử dụng người dùng wcs (webadmin), không kết nối được với DB nó không thể nhận được các biến env bắt buộc.làm thế nào để làm cho đầu bếp thực hiện với một người dùng cụ thể và tải giá trị môi trường của nó

vì vậy tôi đặt một số mẫu mã để kiểm tra

Tôi đang sử dụng mã dưới đây

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 

Đối whoami tôi đang nhận được sử dụng

webadmin

Nhưng đối với env i am ge tting env của người dùng "root", nó không tìm nguồn cung ứng .bash_profile cho các biến env. Bất kỳ ý tưởng nào

Trả lời

6

Có thuộc tính environment trong số bash resource. Hoặc bạn có thể mã nguồn .bash_profile trong tập lệnh. Đó là one of the things you can do with bash (ví dụ cuối)

+0

cố gắng nguồn nhưng không hoạt động, vì có một vài biến môi trường để thiết lập, thiết lập nó trong khi chạy lệnh trong tài nguyên bash sẽ rất cồng kềnh. – Saurav

+1

Dường như tôi đã làm điều gì đó sai, giải pháp được đề xuất bởi Paulo là đúng, tôi đã làm nguồn .bash_profile (thời gian này đúng) và nó đã làm việc tốt. Cảm ơn bạn lần nữa – Saurav

+0

@Saurav Bạn đã đề cập đến bạn có nguồn gốc .bash_profile đúng cách. Bạn có thể cho tôi biết làm thế nào? Ngay cả tôi cũng đang gặp vấn đề với việc tìm nguồn cung ứng bash_profile –