Django Cookiecutter 在生产中使用环境变量模式
Django Cookiecutter using environment variables pattern in production
我想了解如何在 django cookie cutter 生成的项目中使用生产 .env 文件。
相关文档在这里:
项目已生成并为环境变量创建.local 和.production 文件夹。
我正在尝试部署到数字海洋中的 docker 液滴。
我的理解是否正确:
.production 文件夹从未 签入源代码管理,并且仅作为示例生成,以便在我准备好部署时在生产机器上创建什么?
所以当我部署时,作为该过程的一部分,我需要在 docker droplet 上对项目进行 pull/clone,然后
使用生产环境变量文件夹结构手动创建 .production 文件夹?
或
运行 merge_production_dotenvs_in_dotenv.py 在本地创建我复制到生产环境中的 .env 文件并配置我的 production.yml 以使用它?
谢谢
克里斯
Django cookiecutter 确实添加 .envs/.production
并将 .envs/
文件夹中的所有内容都添加到源代码管理中。您可以通过检查 .gitignore
文件来了解这一点。 .gitignore
文件不包含 .envs
,这意味着 .envs/
文件夹已签入源代码管理。
因此,当您想要部署时,您 clone/pull 将存储库放入您的服务器,您的 .production/
文件夹也会在那里。
您也可以 运行 merge_production_dotenvs_in_dotenv.py
创建 .env
文件,但是 .env
不会被签入源代码管理,因此您必须将文件复制到您的服务器.然后,您可以配置 docker-compose 文件以将 path/to/your/project/.env
作为 env_file
包含在需要文件中环境变量的任何服务中。
您可以使用 scp 将文件从您的本地计算机轻松复制到您的服务器,如下所示:
scp /path/to/local/file username@domain-or-ipaddress:/path/to/destination
生产环境文件未进入源代码控制,只有本地文件是。至少这是有意的,生产环境文件不应该在源代码管理中,因为它们包含秘密。
但是,当您 运行 时,docker-compose 会将它们添加到 docker 图像中。您可以使用 Digital Ocean driver 创建一个 Docker 机器,从您的终端激活它,然后启动您通过 运行ning docker-compose -f production.yml -d up
.
构建的映像
我想了解如何在 django cookie cutter 生成的项目中使用生产 .env 文件。
相关文档在这里:
项目已生成并为环境变量创建.local 和.production 文件夹。
我正在尝试部署到数字海洋中的 docker 液滴。
我的理解是否正确:
.production 文件夹从未 签入源代码管理,并且仅作为示例生成,以便在我准备好部署时在生产机器上创建什么?
所以当我部署时,作为该过程的一部分,我需要在 docker droplet 上对项目进行 pull/clone,然后
使用生产环境变量文件夹结构手动创建 .production 文件夹?
或
运行 merge_production_dotenvs_in_dotenv.py 在本地创建我复制到生产环境中的 .env 文件并配置我的 production.yml 以使用它?
谢谢 克里斯
Django cookiecutter 确实添加 .envs/.production
并将 .envs/
文件夹中的所有内容都添加到源代码管理中。您可以通过检查 .gitignore
文件来了解这一点。 .gitignore
文件不包含 .envs
,这意味着 .envs/
文件夹已签入源代码管理。
因此,当您想要部署时,您 clone/pull 将存储库放入您的服务器,您的 .production/
文件夹也会在那里。
您也可以 运行 merge_production_dotenvs_in_dotenv.py
创建 .env
文件,但是 .env
不会被签入源代码管理,因此您必须将文件复制到您的服务器.然后,您可以配置 docker-compose 文件以将 path/to/your/project/.env
作为 env_file
包含在需要文件中环境变量的任何服务中。
您可以使用 scp 将文件从您的本地计算机轻松复制到您的服务器,如下所示:
scp /path/to/local/file username@domain-or-ipaddress:/path/to/destination
生产环境文件未进入源代码控制,只有本地文件是。至少这是有意的,生产环境文件不应该在源代码管理中,因为它们包含秘密。
但是,当您 运行 时,docker-compose 会将它们添加到 docker 图像中。您可以使用 Digital Ocean driver 创建一个 Docker 机器,从您的终端激活它,然后启动您通过 运行ning docker-compose -f production.yml -d up
.