我对弹性豆茎相当新鲜。对我来说并不是很明显,部署需要使用git,但现在我在文档中发现它在幕后使用git archive
来制作一个可以部署的zip。
如何仅部署大型项目的子目录;没有上传回购的全部内容?
说我的结构如下:
git-repo/
mobile/
ios/...
android/...
assets/...
django-app/
.ebextensions
manage.py
site/...
...
我想只部署django-app
及以下。
理想情况下,我避免使用子树,并避免使用其他脚本(但如果eb deploy
有办法自动化脚本,脚本就可以了。)
答案 0 :(得分:2)
假设您已经安装并设置了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 deploy;
注意:这在Mac和Linux上效果很好,由于Windows上用户文件夹结构中的空格,过去我在Windows上遇到过问题。