在构建期间将 AWS Parameter Store 环境变量导出到 PHP?

Export AWS Parameter Store environment variables to PHP during build?

我有一个简单的 Laravel 安装,我试图通过使用 ECS 的 AWS CodePipeline 将其设置为 运行。

我做了什么?

我的 Codepipeline 设置了一个 buildspec.yml 文件,我在其中指定它应该使用 Parameter Store 中的值,例如

env:
    parameter-store:
        TEST_STRING: "TEST"

我的 TEST 变量确实存在于 Parameter Store 中,我可以使用 cli 获取它。

我想做什么?

我希望我的 Laravel 安装可以访问我的环境变量,这样我就可以使用 Parameter Store 来保存密码和用户名,例如数据库和 API。

到底发生了什么?

当我尝试通过 php 访问环境变量时,我没有获得任何值。如果我 var_dump $_ENV,那么我在给定数组中看不到我的 TEST_STRING。

我很确定环境变量只存在于构建过程中,但我无法弄清楚如何将环境变量从我的构建过程"transfer" 部署到代码中。

问题

要使构建过程中的环境变量可用于部署的代码,我缺少什么?

转到您的集群,找到您要向其中添加一些环境变量的相关任务的任务定义。

单击以创建要添加变量的任务的新修订。

在 "Container definitions" 下,您有该任务的容器列表。 Select 相关容器和模态将从屏幕右侧滚动。

向下滚动一点,找到环境 > 环境变量。这里可以添加环境变量。您可以设置静态值(通过使用 "value")或参数存储值(通过使用 "valueFrom")。

保存您的新修订并记得更新您的服务以使用新定义。