ПроблемаНеобходимо поддерживать на разных площадках (дев, тест, демо, бой) проекта одинаковые версии Битрикса, в т. ч. установленных в нём модулей. Копирование бекапа сайта не подходит, т. к.:
- «Накатывать» обновления нужно в автоматическом режиме на протяжении всего ЖЦ проекта.
- Данные, хранимые в БД, частично могут различаться на площадках.
РешениеНеобходимо в Битриксе реализовать АПИ, которое будет позволять выборочно обновлять модули до указанной версии. Концептуальный пример (передаём код модуля и версию, до которой нужно обновиться):
SystemUpdate::updateModule($module, $version); |
После полного обновления системы на одной из площадок можно будет с помощью события OnUpdatesInstalled сгенерировать файл с зафиксированными версиями установленных модулей. Этот файл размещается в VCS проекта и распространяется по всем площадкам. Далее остаётся написать нехитрый скрипт, который будет выполнять обновление модулей до зафиксированных версий, используя АПИ из примера выше.
---
Всё это можно реализовать самостоятельно, от Битрикса нужно только АПИ для установки обновлений конкретной версии.