AWS EB CLI - 每次运行'eb deploy'时排除特定文件夹

时间:2018-03-23 02:37:48

标签: php laravel amazon-web-services aws-codecommit ebcli

如何防止在每个部署中替换特定文件夹? 考虑下面的目录结构:

-- /.ebextensions
-- /app
-- /database
-- /public
---- /css
---- /js
---- /images

我正在为我的PHP应用程序使用AWS CodeCommit和EB CLI,并且每次运行eb deploy这些文件和&目录正在被替换,所以我想排除/public/images目录,以便在部署更新的版本之后,上传的先前图像仍然存在。

我整个星期都在挖掘他们的文档,但找不到任何可能的解决方案。这可能与Elastic Beanstalk有关吗?或者非常感谢在AWS中部署的任何其他建议。提前谢谢!

1 个答案:

答案 0 :(得分:3)

创建一个.ebignore文件并列出其中的所有文件和目录。如果没有.ebignore文件,它将使用.gitignore从部署中排除文件。

我仍然认为它不会解决问题,因为图像文件夹仍然会被删除。我建议您使用S3存储桶并从那里上传/获取所有图像,这样您就不会遇到部署问题。

请注意,如果您上传图像,当图像上传时有3个ec2时,除非您在每次上传时同步ec2,否则图像将仅上传到一台服务器上。这将导致某些用户无法找到404图像而其他用户将能够看到它。

您还可以查看EBS卷,以尝试使用弹性beanstalk实现持久存储:https://aws.amazon.com/ebs/