Перейти к основному содержимому

Инструменты развертывания

Pimcore предоставляется следующие инструменты для поддержки процессов развертывания.

Pimcore Configurations

Все конфигурации Pimcore сохраняются в виде файлов YAML или PHP в файловой системе. В результате они могут быть включены в Системы управления версиями и, используя Функция Multi Environment различные файлы конфигурации для разных этапов развертывания может быть определен.

определения класса Pimcore

Как и в случае конфигураций Pimcore также определения класса Pimcore сохраняются как файлы конфигурации PHP и, следовательно, могут Будьте добавлены в системы управления версиями и быть развернуты на разных этапах развертывания.

Файлы конфигурации PHP и классы PHP будут записаны в каталог var/classes по умолчанию. Чтобы запретить модификацию и повернуть класс, чтобы быть только для чтения, вы можете создать копию в {c11}.

Что касается модификации класса, также существует дополнительная переменная ENV PIMCORE_CLASS_DEFINITION_WRITABLE, которую можно рассмотреть и установить.

  • 0, чтобы запретить полностью написать доступ, включая создание новых классов.
  • 1, чтобы разрешить модификацию, включая классы в config/pimcore/classes, которые обычно только чтение.
  • Когда классы not set в config/pimcore/classes только чтение, но новые классы разрешены и будут созданы в var/classes.

С помощью переменной env {c19} вы можете указать каталог для поиска определений класса Если вы не хотите, чтобы Pimcore искал в var/classes или config/pimcore/classes.

Note: Changes on Pimcore class definitions not only have influence to configuration files but also on the database. If deploying changes between different deployment stages also database changes need to be deployed. This can be done with the pimcore:deployment:classes-rebuild command.

После каждого обновления кода вы должны использовать команду pimcore:deployment:classes-rebuild, чтобы натолкнуть изменения в базу данных.

./bin/console pimcore:deployment:classes-rebuild  

To create new classes from your configuration files in the database you can use the create-classes option.

./bin/console pimcore:deployment:classes-rebuild --create-classes  

If you use Оптимизация автозагрузчика композитора, you have to register the newly created classes via:

composer dump-autoload --optimize  

As an alternative also class export to json-files and the class import commands can be used.

./bin/console pimcore:definition:import:objectbrick /brick_jsonfile_path.json  

./bin/console pimcore:definition:import:fieldcollection /collection_jsonfile_path.json

./bin/console pimcore:definition:import:class /class_jsonfile_path.json

Pimcore Console

The Пимкорская консоль provides several useful tasks for deployment. These tasks can be integrated into custom deployment workflows and tools. One example for them would be the Pimcore class definitions as described above.

To get a list of all available commands use ./bin/console list.

Potentially useful commands:

CommandDescription
pimcore:mysql-toolsOptimize and warm up mysql database
pimcore:search-backend-reindexRe-indexes the backend search of Pimcore (only available if you have installed the simpleBackendSearchBundle)
pimcore:cache:clearClear Pimcore core caches
cache:clearClear Symfony caches
pimcore:cache:warmingWarm up caches
pimcore:classificationstore:delete-storeDelete Classification Store
pimcore:definition:import:classImport Class definition from a JSON export
pimcore:definition:import:customlayoutImport Customlayout definition from a JSON export
pimcore:definition:import:fieldcollectionImport FieldCollection definition from a JSON export
pimcore:definition:import:objectbrickImport ObjectBrick definition from a JSON export
pimcore:definition:import:unitsImport Quantity value units definition from a JSON export
pimcore:deployment:classes-rebuildRebuilds classes and db structure based on updated var/classes/definition_*.php files
pimcore:thumbnails:imageGenerate image thumbnails, useful to pre-generate thumbnails in the background. Use --processes option for parallel processing.
pimcore:thumbnails:optimize-imagesOptimize file size of all images in web/var/tmp
pimcore:thumbnails:videoGenerate video thumbnails, useful to pre-generate thumbnails in the background. Use --processes option for parallel processing.

Найдите больше о консоли Pimcore на Выделенная страница.

Миграция контента

Миграция контента между средами не обеспечивается Pimcore, и это вообще не рекомендуется.

Контент должен быть создан редакторами в производственной среде, и можно управлять видимостью на фронте по встроенным функциям, таким как публикация / unpublishing / {p5} / планирование / Предварительный просмотр эффекта в EditMode.

Поэтому редакторы не должны работать на разных этапах.

Конечно, миграция контента возможна, но это всегда очень индивидуальная задача в зависимости от модели данных, среда и варианты использования.

Если вам нужна какая -то миграция контента, используйте PHP API для {p7}, объекты и {p9} для этого.


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.