如何将git repo的子目录部署到弹性beanstalk

时间:2016-07-18 07:27:19

标签: django git elastic-beanstalk

我对弹性豆茎相当新鲜。对我来说并不是很明显,部署需要使用git,但现在我在文档中发现它在幕后使用git archive来制作一个可以部署的zip。

如何仅部署大型项目的子目录;没有上传回购的全部内容?

说我的结构如下:

git-repo/
    mobile/
        ios/...
        android/...
    assets/...
    django-app/
        .ebextensions
        manage.py
        site/...
        ...

我想只部署django-app及以下。

理想情况下,我避免使用子树,并避免使用其他脚本(但如果eb deploy有办法自动化脚本,脚本就可以了。)

1 个答案:

答案 0 :(得分:2)

假设您已经安装并设置了EB CLI,则可以创建一个脚本来压缩django-app /文件夹,然后部署生成的工件:

  1. 在项目根目录中创建一个名为.ebextensions的文件夹,并在此文件夹中创建一个名为config.yml的文件,其基本内容如下:

    部署:   工件:“ deploy.zip”

(请注意,间距在yml文件中非常重要,“ deploy”应在第一列中,“ artifact”应在secod(制表符分隔)列中)

  1. 在项目根目录中使用以下命令创建一个deploy.sh脚本:

    git archive --format = zip HEAD:django-app /> deploy.zip; eb deploy;

注意:这在Mac和Linux上效果很好,由于Windows上用户文件夹结构中的空格,过去我在Windows上遇到过问题。