owe*_*nfi 6 git django amazon-elastic-beanstalk
我对弹性豆茎很新.对我而言,部署时需要提交git并不是很明显,但现在我在文档中发现它git archive在幕后使用来制作一个部署的zip.
如何仅部署大型项目的子目录; 没有上传回购的全部内容?
说我有一个像这样的结构:
git-repo/
mobile/
ios/...
android/...
assets/...
django-app/
.ebextensions
manage.py
site/...
...
Run Code Online (Sandbox Code Playgroud)
我想在django-app上下部署.
理想情况下,我会避免使用子树,并避免使用其他脚本(但如果eb deploy有一种方法可以自动化脚本,那么脚本就可以了).
假设您已经安装并设置了EB CLI,您可以创建一个脚本来压缩您的 django-app/ 文件夹,然后部署生成的工件:
在您的项目根目录中创建一个名为 .ebextensions 的文件夹,并在该文件夹中创建一个名为 config.yml 的文件,其中包含以下基本内容:
部署:工件:“deploy.zip”
(注意 yml 文件中的间距非常重要,“deploy”应在第一列中,“artifact”应在 secod(制表符间距)列中)
使用以下内容在项目根目录中创建 deploy.sh 脚本:
git archive --format=zip HEAD:django-app/ > deploy.zip; eb 部署;
注意:这在 Mac 和 Linux 上效果很好,我过去在 Windows 上遇到过问题,因为 Windows 上的用户文件夹结构中有空格。