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

时间:2019-02-14 09:00:54

标签: php aws-code-deploy aws-codepipeline

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

我做了什么?

我的代码管道使用buildspec.yml文件设置,我在其中指定它应使用参数存储中的值,例如

env:
    parameter-store:
        TEST_STRING: "TEST"

我的TEST变量确实存在于参数存储区中,我可以使用cli来获取它。

我想做什么?

我希望我的Laravel安装可以访问我的环境变量,因此我可以使用参数存储来保存密码和用户名,例如数据库和API。

实际发生了什么?

当我尝试通过php访问环境变量时,我没有任何价值。如果我var_dump $ _ENV,则无法在给定数组中看到TEST_STRING。

我非常确定环境变量仅存在于构建过程中,但是我无法弄清楚如何将环境变量从构建过程“转移”到部署的代码中。

问题

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

1 个答案:

答案 0 :(得分:0)

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

单击以创建要添加变量的任务的新版本。

在“容器定义”下,您有该任务的容器列表。选择相关的容器,模态将从屏幕的右侧滚动。

向下滚动一点,然后找到“环境”>“环境变量”。您可以在此处添加环境变量。您可以设置静态值(通过使用“ value”)或参数存储值(通过使用“ valueFrom”)。

保存新修订,并记住要更新服务以使用新定义。