2

我有一个构建脚本,我想使用 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

一旦设置好这些,我就可以用 ant all 或其他一些构建脚本在 puppet 中调用 EXEC。

任何指导都会很棒。

4

2 回答 2

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"
}
于 2013-08-23T11:23:08.173 回答
0

嗨,

例如,尝试通过修改 /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 代码分开。

问候国际交易日志

于 2013-08-28T19:46:35.783 回答