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

AWS EB CLI - Exclude specific folders every time I run 'eb deploy'

如何防止特定文件夹在每次部署时被替换? 考虑以下目录结构:

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

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

我整个星期都在研究他们的文档,但找不到任何可能的东西 solution.Is Elastic Beanstalk 可以做到这一点?或者任何关于在 AWS 中部署的替代建议将不胜感激。提前致谢!

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

我仍然认为这不会解决问题,因为图像文件夹仍会被删除。我建议您使用 S3 存储桶和 upload/get 来自那里的所有图像,这样您就不会在部署时遇到问题。

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

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