如何防止在每个部署中替换特定文件夹? 考虑下面的目录结构:
-- /.ebextensions
-- /app
-- /database
-- /public
---- /css
---- /js
---- /images
我正在为我的PHP应用程序使用AWS CodeCommit和EB CLI,并且每次运行eb deploy
这些文件和&目录正在被替换,所以我想排除/public/images
目录,以便在部署更新的版本之后,上传的先前图像仍然存在。
我整个星期都在挖掘他们的文档,但找不到任何可能的解决方案。这可能与Elastic Beanstalk有关吗?或者非常感谢在AWS中部署的任何其他建议。提前谢谢!
答案 0 :(得分:3)
创建一个.ebignore
文件并列出其中的所有文件和目录。如果没有.ebignore
文件,它将使用.gitignore
从部署中排除文件。
我仍然认为它不会解决问题,因为图像文件夹仍然会被删除。我建议您使用S3存储桶并从那里上传/获取所有图像,这样您就不会遇到部署问题。
请注意,如果您上传图像,当图像上传时有3个ec2时,除非您在每次上传时同步ec2,否则图像将仅上传到一台服务器上。这将导致某些用户无法找到404图像而其他用户将能够看到它。
您还可以查看EBS卷,以尝试使用弹性beanstalk实现持久存储:https://aws.amazon.com/ebs/