仅将指定文件部署到 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
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