3

我開始在當前項目中使用puppet,並且遇到一些問題。如何使用puppet在服務器上設置環境變量?

我正在使用一個配方來安裝jruby,但是我想在它完成安裝jruby之後設置一個環境變量(在這種情況下,JRUBY_HOME並修改PATH以包含JRUBY_HOME/bin)。

這裏的食譜:

class jruby { 
    $jruby_home = "/opt/jruby" 


    exec { "download_jruby": 
    command => "wget http://jruby.org.s3.amazonaws.com/downloads/1.7.0.RC2/jruby-bin-1.7.0.RC2.tar.gz", 
    path => $path,  
    timeout => 0, 
    unless => "ls /opt | grep jruby-1.7.0", 
    require => Package["openjdk-7-jre-headless"] 
    }     

    exec { "unpack_jruby" : 
    command => "tar -zxf jruby-bin-1.7.0.RC2.tar.gz -C /opt", 
    path => $path, 
    creates => "${jruby_home}-1.7.0.RC2", 
    require => Exec["download_jruby"] 
    }        

    file { $jruby_home: 
    ensure => link, 
    target => "${jruby_home}-1.7.0.RC2", 
    require => Exec["unpack_jruby"] 
    }       

} 

那麼,有什麼補充的最佳途徑的/ opt/JRuby的作爲JRUBY_HOME然後添加JRUBY_HOME/bin添加到路徑?

+0

對於誰做你想這個環境變量設置?所有用戶或特定應用程序用戶?另外,這是什麼操作系統? – itsbruce

+0

所有用戶,linux – razenha

回答

5

解決它:

# init.pp 
$jruby_sh = "/etc/profile.d/jruby.sh" 
file { $jruby_sh: 
    ensure => present, 
    source => "puppet:///modules/jruby/jruby.sh", 
    owner => "root", 
    group => "root", 
    mode => 644, 
    require => File[$jruby_home] 
} 

# jruby.sh 
export JRUBY_HOME=/opt/jruby 
export PATH=$PATH:$JRUBY_HOME/bin 
+1

這個命令爲root用戶設置路徑?或爲所有用戶? – Burhan

相關問題