如何将 Django Fixtures 部署到 Amazon AWS

Posted

技术标签:

【中文标题】如何将 Django Fixtures 部署到 Amazon AWS【英文标题】:How to deploy Django Fixtures to Amazon AWS 【发布时间】:2018-06-23 00:42:20 【问题描述】:

我的应用程序存储在 GitHub 上。要将其部署到 Amazon,我使用他们的 EB deploy 命令获取我的 git 存储库并将其发送。然后它运行容器命令来加载我的数据。

container_commands: 01_迁移: 命令:“django-admin.py 迁移” 仅领导者:真 02_collectstatic: 命令:“source /opt/python/run/venv/bin/activate && python manage.py collectstatic --noinput”

问题是我不想要我的 git 中的固定装置。 Git 不应包含此数据,因为它与其他用户共享。如何让我的 AWS 以其他方式加载固定装置?

【问题讨论】:

【参考方案1】:

您可以使用老派的方式:scp 到 ec2 实例。

您可以转到 EC2 控制台查看与您的 EB 环境关联的真实 EC2 实例(我假设您只有一个实例)。记下公共 ip,然后像使用普通 EC2 实例一样连接到该实例。

例如

scp -i [YOUR_AWS_KEY] [MY_FIXTURE_FILE] ec2-user@[INSTANCE_IP]:[PATH_ON_SERVER]

请注意,用户名必须是 ec2-user。

但我不推荐这种方式来部署项目,因为您可能需要手动执行命令。但是,这对我从实时服务器获取夹具很有用。

为了避免在 git 中跟踪固定装置。我只是使用一个简单的解决方法:为 EB 部署创建一个本地分支,并跟踪固定装置以及其他特定于环境的凭据。永远不要将此类 EB 分支上传到 git 远程存储库。

【讨论】:

以上是关于如何将 Django Fixtures 部署到 Amazon AWS的主要内容,如果未能解决你的问题,请参考以下文章

Django单元测试中Fixtures用法

python测试开发django-177.启动项目添加初始化数据(fixtures的使用)

python测试开发django-177.启动项目添加初始化数据(fixtures的使用)

Django中的默认权限/组数据

如何将多租户 django 应用程序部署到 AWS?

Django 1.10 - 如何加载初始用户