如何解决在 App Engine for CI/CD Pipeline 中存储环境变量的位置?
我正在云上部署我的第一个应用程序,我正在尝试设置我的环境变量。
据我所知,它们是在 app.yaml
文件中设置的。但是,如果将该文件推送到存储库,它将包含错误的 API 密钥。
我可以像对待 app.yaml
一样对待 .env
,但问题是,如何在 CI/CD 管道中为 prod 设置环境变量?
我正在使用 Cloud Build 来运行我的构建管道。我来自 Bitbucket & Heroku,似乎没有办法像在这两个平台上那样为构建环境“设置”环境变量。
那么,我怎样才能让我的 .env 变量在我的应用程序中可用,而无需冒险将其推送到我的存储库中?
感谢您的帮助
解决方法
对于那些正在寻找的人,这是我如何解决这个问题的。
我遵循了 this blog post 中概述的步骤。
基本上我们在 .yaml
文件中设置变量,然后在构建过程中将其编译为 .env
文件。我们可以通过 Cloud Build 配置设置这些变量的值,以便限制对它们的访问并隐藏它们。
我有一个“部署”脚本,可以克隆我的 app.yaml
,从 google-secret-manager 下载 api-keys,并将它们作为环境变量注入 env_variables
的 app.yaml
部分然后使用新的 app.yaml
而不是原来的 list()
运行部署命令。
对我来说,这个脚本是本地的,但我想你可以在 google-cloud-build 中做类似的事情
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。