我在寫一些將安裝tomcat包的鹽堆公式。但安裝後我必須在/ etc/default/tomcat7文件中設置JAVA_HOME。有沒有設置JAVA_HOME的選項?或者是否有任何選項可以修改或添加環境變量(即.bashrc或.profile文件中的JAVA_HOME)?使用saltstack設置環境變量
我pillar.example文件將這些細節:
tomcat_version: 7
java_home: '/usr/lib/jvm/java-7-oracle'
我在寫一些將安裝tomcat包的鹽堆公式。但安裝後我必須在/ etc/default/tomcat7文件中設置JAVA_HOME。有沒有設置JAVA_HOME的選項?或者是否有任何選項可以修改或添加環境變量(即.bashrc或.profile文件中的JAVA_HOME)?使用saltstack設置環境變量
我pillar.example文件將這些細節:
tomcat_version: 7
java_home: '/usr/lib/jvm/java-7-oracle'
作爲替代設置的.bashrc或.profile,你可以簡單地在/ etc /默認/ tomcat7直接設置JAVA_HOME值:
tomcat_configuration:
file.append:
- name: /etc/default/tomcat7
- text: export JAVA_HOME={{ pillar['java_home'] }}
如果由於某種原因file.append
不適合,鹽提供file.replace和(0.18.0新增)file.blockreplace。
取決於環境變量的範圍:
如果其爲單個用戶,然後出口到用戶本地的.bash_profile會工作,例如
JAVA_HOME:
# File.append searches the file for your text before it appends so it won't append multiple times
file.append:
- name: /root/.bash_profile
- text: export JAVA_HOME={{ pillar['java_home'] }}
在上述變量可以使用之前,您可能需要註銷該用戶。
另一方面,如果您想全局導出該變量。你可能會想使用/etc/profile.d中
JAVA_HOME:
file.append:
- name: /etc/profile.d/myglobalenvvariables.sh
- text: export JAVA_HOME={{ pillar['java_home'] }}
雖然我建議創建一個新的腳本時使用file.managed。當然,您仍然需要記錄所有用戶,以便傳播變量。