AWS EB CLI — исключать определенные папки каждый раз, когда я запускаю ‘eb deploy’

Как предотвратить замену определенных папок при каждом развертывании?
Рассмотрим структуру каталогов ниже:

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

Я использую AWS CodeCommit и EB CLI для своего приложения PHP и каждый раз, когда я запускаю eb deploy эти файлы & каталоги заменяются, поэтому я хочу исключить /public/images каталог, так что предыдущие изображения, которые были загружены, все еще будут там после развертывания более новой версии.

Я копался в их документации всю неделю, но не могу найти никакого возможного решения. Возможно ли это с Elastic Beanstalk? Или любые альтернативные предложения для развертывания в AWS будут очень благодарны. Заранее спасибо!

0

Решение

Создать .ebignore файл и список всех файлов и каталогов там. Если нет .ebignore файл будет использовать .gitignore исключить файлы из развертывания.

Я все еще не думаю, что это решит проблему, так как папка с изображениями все равно будет удалена. Я бы посоветовал вам использовать S3 Bucket и загружать / получать все изображения оттуда, чтобы у вас не было проблем при развертывании.

Обратите внимание, что если вы загружаете изображение, когда на момент загрузки изображения имеется 3 ec2, изображение будет загружено только на один сервер, если вы не синхронизируете ec2 при каждой загрузке. И это приведет к тому, что некоторые пользователи получат изображение 404, не найденное, в то время как другие смогут его увидеть.

Вы также можете взглянуть на тома EBS, чтобы попытаться добиться постоянного хранения с помощью эластичного бобового стебля: https://aws.amazon.com/ebs/

3

Другие решения

Других решений пока нет …