Integração CI/CD.

Learn DXPR BuilderManage the siteNaar productie

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.yml
  • dxpr_builder.dxpr_builder_profile.*.yml
  • dxpr_builder.page_template.*.yml
  • dxpr_builder.user_template.*.yml
  • key.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:

  1. Crie uma Key cujo fornecedor lê uma variável de ambiente ou um ficheiro, em Configuration > System > Keys (/admin/config/system/keys).
  2. 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 limpa json_web_token.
  3. Exporte outra vez a configuração e verifique que dxpr_builder.settings.yml já 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.