如何在不提交文件的情况下使用秘密 yaml 配置文件部署 dokku 应用程序?



类似于:这个问题, 我有一个 rails 应用程序,我希望通过执行以下操作来使用 dokku 部署:

git push dokku master

该应用程序需要一个数据库.yml和其他包含大量机密信息的config.yml文件。在存储库中,出于显而易见的原因,这些文件被 gitignore 。(只提交了一个 database.yml.example 和 config.yml.example 文件,并删除了机密信息。

Dokku 无法构建和部署应用程序,抱怨缺少这些配置文件。

如何使用 dokku 部署我的应用程序,而无需将我的配置文件提交到 git?

我不想创建一个单独的分支并取消忽略它们。我想在服务器(dokku 运行的地方(上维护我自己的这些文件版本。我只想让 dokku 从服务器上的本地目录中查找或复制它们。怎么能做到这一点呢?

为什么首先要提交这些文件?对敏感信息使用配置文件被认为是不好的做法。

建议您按照官方文档设置环境变量。

然后,您可以在代码中访问这些变量:

# Python
import os
database_password = os.environ.get("DATABASE_PASSWORD")
# Java
String database_password = System.getenv("DATABASE_PASSWORD")
# PHP
$database_password = getenv("DATABASE_PASSWORD");
# Go
import "os"
os.Getenv("FOO")

最新更新