如何将文件放在AWS Elastic Beanstalk中的应用程序部署目录之外?

时间:2020-07-10 00:47:35

标签: amazon-elastic-beanstalk

在AWS EB中,如何将 environment.properties (包含应用运行时配置,如端口,日志目录,数据库信息,安全密钥等)放置在 / var下/ env_config / myapp ,那么应用可以在运行时引用它吗?

尽管我的进一步计划是将 environment.properties 放置在本地或远程文件系统的安全非应用程序目录中,因为它包含敏感信息。

global.env = propsReader(path.join(process.env.ENV_PATH, 'env-main.properties'));

在EB上,我添加了一个环境属性'ENV_PATH = / var / env_config / myapp'

EB日志:

web: > myapp@1.0.0 start /var/app/current
web: > node src/app-main.js
web: 8266 [
web: '/opt/elasticbeanstalk/node-install/node-v12.18.1-linux-x64/bin/node',
web: '/var/app/current/src/app-main.js'
web: ]
web: /var/env_config/myapp
web: internal/fs/utils.js:230
web: throw err;
web: ^
web: Error: ENOENT: no such file or directory, open '/var/env_config/myapp/env-main.properties'

我只是想以相同的方式在AWS EB或Docker或VM或本地计算机上部署我的应用程序,只用一个环境属性来说明所需的运行时输入文件在哪里。

1 个答案:

答案 0 :(得分:0)

如何访问Elastic Beanstalk文件系统以配置我的.properties文件?

不确定“访问文件系统”是什么意思,但是通常您会在项目目录中创建.ebextensions文件夹。扩展程序通常用于在部署应用程序时运行命令或脚本。有一些特殊的部分:

  • commands:您可以使用命令键在EC2实例上执行命令。在安装应用程序和Web服务器之前,之前运行命令。提取应用程序版本文件。

  • container_commands:您可以使用container_commands键执行影响您的应用程序源代码的命令。容器命令在安装了应用程序和Web服务器并提取了应用程序版本归档文件之后,但在部署应用程序版本之前运行。

因此,您可以在将应用程序部署到EB期间,使用以上部分来修改.properties 文件。