gtx*_*911 5 linux environment-variables amazon-ec2 amazon-web-services terraform
我使用此资源在EC2中创建了一个带有terraform的AMI:
resource "aws_instance" "devops-demo" {
ami = "jnkdjsndjsnfsdj"
instance_type = "t2.micro"
key_name = "demo-devops"
user_data = "${file("ops_setup.sh")}"
}
Run Code Online (Sandbox Code Playgroud)
用户数据执行安装Java JRE 的shell脚本:
sudo yum remove java-1.7.0-openjdk -y
sudo wget -O /opt/server-jre-8u172-linux-x64.tar.gz --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/server-jre-8u172-linux-x64.tar.gz"
sudo tar xzf /opt/server-jre-8u172-linux-x64.tar.gz
export JAVA_HOME=/jdk1.8.0_172
export JRE_HOME=/jdk1.8.0_171/jre
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
但是没有一个环境变量可行.但是,如果我通过ssh连接到实例并执行export命令,它可以正常工作.
有没有办法用terraform定义环境变量?
Bra*_*ler 12
使用export命令仅为当前shell和从该shell启动的所有进程设置这些变量.这不是一个持久的设置.任何你想永久制作的东西都应该放入/etc/environment.
例如在userdata中:
echo "JAVA_HOME=/jdk1.8.0_172" >> /etc/environment
Run Code Online (Sandbox Code Playgroud)
这会将该JAVA_HOME=/jdk1.8.0_172行添加到该文件中.请注意,您不应export在该文件中使用.
该PATH变量可能已在/etc/environment文件中定义,如果要向其附加其他路径,则需要适当地覆盖该变量.
有关设置此答案中可用的环境变量的详细信息.
| 归档时间: |
|
| 查看次数: |
4763 次 |
| 最近记录: |