2014-11-04 49 views

回答

1

如果你需要從你的魔豆彈性配置文件中獲取環境變量,你可以做到以下幾點:

commands: 

    01-vars: 
    command: | 
     $(/opt/elasticbeanstalk/containerfiles/support/generate_env | grep PARAM -v | sed 's/^/export/') && # do stuff 

這假設你不想默認PARAM環境變量。

+0

此不再工作elasticbeanstalk的最新版本對於Java :( – kaleeway 2018-01-11 16:41:27

2

我結束了使用下面的代碼:

--- 
files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/pre/02my_setup.sh": 
    owner: root 
    group: root 
    mode: "000755" 
    content: | 
     #!/bin/bash 

     set -e 

     . /opt/elasticbeanstalk/hooks/common.sh 

     EB_CONFIG_APP_CURRENT=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir) 
     EB_SUPPORT_FILES_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_files_dir) 

     # load env vars 
     eval $($EB_SUPPORT_FILES_DIR/generate_env | sed 's/$/;/') 
1

您可以在bash腳本中使用/opt/elasticbeanstalk/bin/get-config environment

例子:

# .ebextensions/efs_mount.config 

commands: 
01_mount: 
    command: "/tmp/mount-efs.sh" 

files: 
"/tmp/mount-efs.sh": 
    mode: "000755" 
    content : | 
     #!/bin/bash 

     EFS_REGION=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_REGION') 
     EFS_MOUNT_DIR=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_MOUNT_DIR') 
     EFS_VOLUME_ID=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_VOLUME_ID')