Php AWS EB CLI-每次运行';eb部署';

Php AWS EB CLI-每次运行';eb部署';,php,laravel,amazon-web-services,aws-codecommit,ebcli,Php,Laravel,Amazon Web Services,Aws Codecommit,Ebcli,如何防止在每次部署中替换特定文件夹? 考虑下面的目录结构: -- /.ebextensions -- /app -- /database -- /public ---- /css ---- /js ---- /images 我正在为我的PHP应用程序使用AWS CodeCommit和EB CLI,每次运行EB deploy时,这些文件和目录都会被替换,因此我希望排除/public/images目录,以便在部署新版本后,已上载的以前的图像仍然存在 我整个星期都在翻他们的文档,但找不到任何可能的解

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

-- /.ebextensions
-- /app
-- /database
-- /public
---- /css
---- /js
---- /images
我正在为我的PHP应用程序使用AWS CodeCommit和EB CLI,每次运行
EB deploy
时,这些文件和目录都会被替换,因此我希望排除
/public/images
目录,以便在部署新版本后,已上载的以前的图像仍然存在


我整个星期都在翻他们的文档,但找不到任何可能的解决方案。弹性豆茎有可能做到这一点吗?或者,对于AWS中部署的任何其他建议,我们将不胜感激。提前谢谢

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

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

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


您还可以查看EBS卷,以便尝试使用elastic beanstalk实现持久存储:

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

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

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


您还可以查看EBS卷,以便尝试使用elastic beanstalk实现持久存储:

我明白了,所以我现在唯一的选择是使用S3 bucket,然后:(无论如何,谢谢你的建议。这不是你唯一的选择,但我认为这是最有效的方法。你也可以在ec2上创建一个挂载,它不会在每次部署时被删除。但是,当挂载发生更改时,你必须确保同步所有ec2实例。我同意s3是最有效的方法。,但我仍然希望听到更多关于在ec2上创建装载作为另一种解决方案的信息。请看一下EBS卷:首先,为了尝试使用弹性Beanstalk实现持久存储,我看到了,所以我现在唯一的选择是使用S3 bucket,然后:(无论如何,谢谢你的建议。这不是你唯一的选择,但我认为这是最有效的方法。你也可以在ec2上创建一个挂载,它不会在每次部署时被删除。但是,当挂载发生更改时,你必须确保同步所有ec2实例。我同意s3是最有效的方法。,但我仍然希望听到更多关于在ec2上创建挂载作为另一种解决方案的信息。请看一下EBS卷:首先,为了尝试使用elastic beanstalk实现持久存储