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

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有一种方法可以自动化脚本,那么脚本就可以了).

con*_*ool 6

假设您已经安装并设置了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 部署;

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