- Home
- Manage the site
- Run it in production
- CI/CD integration
CI/CD integration
DXPR Builder content is stored in Drupal text fields and configuration entities. This page explains how to include DXPR Builder content in your CI/CD pipeline and deployment workflows.
Content storage
DXPR Builder stores its data in the database and in configuration:
| Data type | Storage | Deployment method |
|---|---|---|
| Page content | Text field values (database) | Content sync or migration |
| Page templates | Config entities | Config export/import |
| User templates | Config entities | Config export/import |
| Settings | Config; holds the product key under Configuration storage | Config export/import once the key is in a Key entity; see below |
| User profiles | Config entities | Config export/import |
| Product key | Settings, or a Key entity holding or pointing to the key | Per environment; see below |
Configuration management
DXPR Builder settings and templates are Drupal configuration. Deploy them with standard Drupal configuration management.
Export
drush config:export
This exports these DXPR Builder config files:
dxpr_builder.settings.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.key.dxpr_builder_jwt.yml, or the Key entity selected for the product key
Do not commit dxpr_builder.settings.yml while the product key is
in it; see Product keys below.
Import
drush config:import
CI pipeline example
drush deploy runs the database updates, imports configuration and
rebuilds caches in the right order. DXPR Builder releases convert
content in their database updates, so run them on every deploy.
deploy:
script:
- drush deploy -y
Content deployment
Page content (the HTML in text fields) is database content, not configuration. Options for deploying content between environments:
Default Content module
Export content as YAML files and import them on the target environment.
Content Synchronization
Use the Content Synchronization module (content_sync) to export
and import content entities.
Database synchronisation
Copy the database from one environment to another:
drush sql:sync @source @target
Environment-specific considerations
File paths
DXPR Builder content references uploaded images by file path. Sync the files directory between environments.
Product keys
Each environment needs a valid product key. Under the default
Configuration storage, dxpr_builder.settings.yml holds that
key in clear text, as json_web_token. Before the file goes into
your repository:
- Create a Key whose provider reads an environment variable or a
file, at Configuration > System > Keys
(
/admin/config/system/keys). - At DXPR Studio > DXPR Builder > General Settings
(
/admin/dxpr_studio/dxpr_builder/settings), set Storage method to Key module, choose that key under Key and click Save settings. This clearsjson_web_token. - Export the configuration again and check that
dxpr_builder.settings.ymlno longer contains the key.
A Key with the Configuration provider stores the value in its own exported file, so it is not safe to commit either.
What's next?
Content staging between environments to continue exploring DXPR Builder.