在puppet清单中设置路径变量

时间:2013-08-22 05:19:23

标签: puppet

我有一个构建脚本,我想使用puppet manifest。 ant构建脚本需要设置以下环境变量才能使其正常运行。在线阅读没有好办法让木偶为路径设置变量。任何建议。

export JAVA_HOME=/usr/java/jdk1.6.0_26
export CATALINA_HOME=/usr/share/apache-tomcat-6.0.37
export SERVICEMIX_HOME=/opt/apache-servicemix-3.3.2
export ANT_HOME=/opt/opt/apache-ant-1.8.4
PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$SERVICEMIX_HOME/bin:$ANT_HOME/bin:$PATH

一旦设置完毕,我就可以用蚂蚁全部或其他一些构建脚本在puppet中调用EXEC。

任何指导都会很棒。

2 个答案:

答案 0 :(得分:0)

看看Type Reference = exec(注意'环境')
这样的事情应该有效:

exec { 'my_nifty_command.sh':
  environment => [JAVA_HOME=/usr/java/jdk1.6.0_26, CATALINA_HOME=/usr/share/apache-tomcat-6.0.37, SERVICEMIX_HOME=/opt/apache-servicemix-3.3.2, ANT_HOME=/opt/opt/apache-ant-1.8.4 ],
  path        => "$JAVA_HOME/bin:$CATALINA_HOME/bin:$SERVICEMIX_HOME/bin:$ANT_HOME/bin:$PATH"
}

答案 1 :(得分:0)

Hy,

例如,尝试通过修改例如/ etc / environment

来持久设置环境变量
file { "/etc/environment":
    [...]
    content => inline_template("JAVA_HOME=/usr/java/jdk1.6.0_26\nCATALINA_HOME=/usr/share/apache-tomcat-6.0.37\nSERVICEMIX_HOME=/opt/apache-servicemix-3.3.2\nANT_HOME=/opt/opt/apache-ant-1.8.4\nPATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$SERVICEMIX_HOME/bin:$ANT_HOME/bin:$PATH"),
}

是的,这是一个非常丑陋的片段,但仅仅是为了得到这个想法。这是基本方法。 我建议通过从hiera获取变量的内容(数据)来将数据与puppet代码分开。

此致 ITL