Как я могу создать резервную копию пакетов composer / bower vendor перед обновлением? - PullRequest
1 голос
/ 14 апреля 2020

Мне нужно обновить устаревший Symfony 2.8 проект, который использует composer и bower в качестве менеджеров пакетов.

Проблема заключается в том, что веб-сайт может не go выключиться, а потому, что проект устарел Боюсь, что composer или bower потерпит неудачу в процессе обновления, из-за чего веб-сайт go отключится.

Я знаю, что могу запустить composer в режиме dry, и я сделать до фактического обновления:

composer update --dry-run
composer install --dry-run

Но я хочу быть абсолютно уверенным, что смогу отменить пакеты поставщиков при возникновении проблем. Поэтому я подумал, что могу просто сделать резервную копию tar:

cd /home/project/public_html/
tar cvf /home/project/composer_bower`date +'%Y%m%d'`.tar composer.json composer.lock bower.json .bowerrc vendor/ web/assets/vendor/

Так я должен сделать резервную копию пакетов вендора? Composer не имеет встроенной возможности отменить обновление / установку. Есть ли другие варианты?

1 Ответ

1 голос
/ 14 апреля 2020

Это не работа composer.

Вам решать composer.* файлы контроля версий (и любой другой файл объявления зависимостей, например symfony.lock, если вы работаете в Symfony.

Или, что еще безопаснее, создавать копии полных артефактов из объявления зависимостей + извлеченные зависимости (например, каталог code + vendor).

В некоторых наших проектах, где такой тип чувствительности необходим, каждое развертывание является полностью автономным и версионным образом. Если с развертыванием что-то идет не так, мы всегда можем go вернуть старый образ.

В менее критичных проектах, просто добавив Файлы декларации зависимостей при управлении версиями может быть достаточно.

...