仅将指定文件部署到 AWS Elastic Beanstalk

Deploy only specified files to AWS Elastic Beanstalk

AWS Elastic Beanstalk 允许您使用简单的 eb deploy 命令将 git 存储库上传到您的环境。

我知道放在 .gitignore 中的任何东西都不会被部署,但是我想保留在存储库中的源文件(sass、未压缩的脚本)呢?不想在部署时上传。

有没有办法只上传特定文件?


跟进

使用下面 Tal 的回答,我能够通过以下方式删除部署时的文件:

container_commands:
  remove_src_folder:
    command: "rm -rf public/src/"

鉴于此文件夹结构:

— .elasticbeanstalk
— .git
— public/
    — dist/
    — src/
    — index.php

如果您使用 eb deploy,那么 git 中的所有内容都将上传并部署到 EB 实例。也就是说,您可以创建一个 ebextension,在部署后删除这些文件。
这是一个名为 .ebextensions/cleanup.config:

的文件的示例
container_commands:
  remove_unneeded_file:
    rm $EB_APP_CURRENT_DIR/*.saas

这将 运行 在将源复制到 EB 实例之后,但在启动 Web 服务器之前。

您可以使用 .ebignore 忽略 git 中的文件。它会导致 .gitignore 被忽略,因此您可能需要在两个文件中添加一些重复的规则。

记录在这里:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-ebignore