Integração CI/CD.
O conteúdo do DXPR Builder guarda-se em campos de texto do Drupal e entidades de configuração. Esta página explica como incluir conteúdo do DXPR Builder no pipeline de CI/CD e nos fluxos de implementação.
Armazenamento de conteúdo
O DXPR Builder guarda os dados na base de dados e na configuração:
| Data type | Storage | Deployment method |
|---|---|---|
| Conteúdo de página | Valores de campo de texto (base de dados) | Sincronização ou migração de conteúdo |
| Modelos de página | Entidades de configuração | Exportação/importação de configuração |
| Modelos de utilizador | Entidades de configuração | Exportação/importação de configuração |
| Definições | Configuração; guarda a chave de produto em Configuration storage | Exportação/importação de configuração quando a chave está numa entidade Key; ver abaixo |
| Perfis de utilizador | Entidades de configuração | Exportação/importação de configuração |
| Chave de produto | Definições, ou uma entidade Key que guarda a chave ou aponta para ela | Por ambiente; ver abaixo |
Gestão de configuração
As definições e modelos do DXPR Builder são configuração do Drupal. Implemente-os com a gestão de configuração padrão do Drupal.
Exportar
drush config:export
Isto exporta estes ficheiros de configuração do DXPR Builder:
dxpr_builder.settings.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.key.dxpr_builder_jwt.yml, ou a entidade Key selecionada para a chave de produto
Não registe dxpr_builder.settings.yml enquanto a chave de produto lá
está; consulte Chaves de produto abaixo.
Importar
drush config:import
Exemplo de pipeline de CI
drush deploy corre as atualizações de base de dados, importa a configuração e
reconstrói as caches pela ordem certa. Os lançamentos do DXPR Builder convertem
conteúdo nas atualizações de base de dados, por isso corra-as em cada implementação.
deploy:
script:
- drush deploy -y
Implementação de conteúdo
O conteúdo de página (o HTML em campos de texto) é conteúdo de base de dados, não configuração. Opções para implementar conteúdo entre ambientes:
Módulo Default Content
Exporte conteúdo como ficheiros YAML e importe-os no ambiente de destino.
Sincronização de conteúdo
Use o módulo Content Synchronization (content_sync) para exportar
e importar entidades de conteúdo.
Sincronização de base de dados
Copie a base de dados de um ambiente para outro:
drush sql:sync @source @target
Considerações por ambiente
Caminhos de ficheiros
O conteúdo do DXPR Builder refere imagens carregadas por caminho de ficheiro. Sincronize o diretório de ficheiros entre ambientes.
Chaves de produto
Cada ambiente precisa de uma chave de produto válida. Com o
Configuration storage predefinido, dxpr_builder.settings.yml guarda essa
chave em texto claro, como json_web_token. Antes de o ficheiro ir para o
repositório:
- Crie uma Key cujo fornecedor lê uma variável de ambiente ou um
ficheiro, em Configuration > System > Keys
(
/admin/config/system/keys). - Em DXPR Studio > DXPR Builder > General Settings
(
/admin/dxpr_studio/dxpr_builder/settings), defina Storage method como Key module, escolha essa chave em Key e clique em Save settings. Isto limpajson_web_token. - Exporte outra vez a configuração e verifique que
dxpr_builder.settings.ymljá não contém a chave.
Uma Key com o fornecedor Configuration guarda o valor no próprio ficheiro exportado, por isso também não é seguro registá-la.
O que se segue?
Encenação de conteúdos entre ambientes para continuar a explorar o DXPR Builder.