我有一个简单的Laravel安装,我试图设置为使用ECS运行AWS CodePipeline。
我做了什么?
我的Codepipeline设置了一个buildspec.yml
文件,我指定它应该使用参数存储中的值,如
env:
parameter-store:
TEST_STRING: "TEST"
我的TEST
变量确实存在于参数存储中,我可以使用cli获取它。
我想做什么?
我希望我的环境变量可供我的Laravel安装访问,因此我可以使用参数存储来保存密码和用户名,例如:数据库和apis。
究竟发生了什么?
当我尝试通过php访问环境变量时,我没有得到任何价值。如果我var_dump
$ _ENV,那么我在给定的数组中看不到我的TEST_STRING。
我很确定环境变量只存在于构建过程中,但我无法弄清楚如何将环境变量从构建过程“转移”到已部署的代码。
题
我缺少什么来使构建过程中的环境变量可用于部署的代码?
转到您的群集,找到您要添加一些环境变量的相关任务的任务定义。
单击以创建要添加变量的任务的新修订。
在“容器定义”下,您有该任务的容器列表。选择相关容器,模式将从屏幕右侧滚动。
向下滚动一下,找到Environment> Environment Variables。在这里您可以添加环境变量。您可以设置静态值(使用“值”)或参数存储值(使用“valueFrom”)。
保存新版本并记住更新您的服务以使用新定义。