Integrazione CI/CD.
I contenuti di DXPR Builder sono memorizzati nei campi di testo e nelle entità di configurazione di Drupal. Questa pagina spiega come includere i contenuti DXPR Builder nella tua pipeline CI/CD e nei flussi di distribuzione.
Archiviazione dei contenuti
DXPR Builder memorizza i suoi dati nel database e nella configurazione:
| Tipo di dati | Archiviazione | Metodo di distribuzione |
|---|---|---|
| Contenuto delle pagine | Valori dei campi di testo (database) | Sincronizzazione o migrazione dei contenuti |
| Modelli di pagina | Entità di configurazione | Esportazione/importazione della configurazione |
| Modelli utente | Entità di configurazione | Esportazione/importazione della configurazione |
| Impostazioni | Configurazione; contiene la chiave prodotto in Configuration storage | Esportazione/importazione della configurazione una volta che la chiave è in un’entità Key; vedi sotto |
| Profili utente | Entità di configurazione | Esportazione/importazione della configurazione |
| Chiave prodotto | Impostazioni, oppure un’entità Key che contiene la chiave o vi punta | Per ambiente; vedi sotto |
Gestione della configurazione
Le impostazioni e i modelli di DXPR Builder sono configurazione Drupal. Distribuiscili con la gestione standard della configurazione Drupal.
Esportazione
drush config:export
Questo esporta questi file di configurazione di DXPR Builder:
dxpr_builder.settings.ymldxpr_builder.dxpr_builder_profile.*.ymldxpr_builder.page_template.*.ymldxpr_builder.user_template.*.ymlkey.key.dxpr_builder_jwt.yml, oppure l’entità Key scelta per la chiave prodotto
Non fare il commit di dxpr_builder.settings.yml finché contiene la chiave
prodotto; vedi Chiavi prodotto sotto.
Importazione
drush config:import
Esempio di pipeline CI
drush deploy esegue gli aggiornamenti del database, importa la configurazione e
ricostruisce le cache nell’ordine giusto. Le release di DXPR Builder convertono
i contenuti nei loro aggiornamenti del database, quindi eseguili a ogni distribuzione.
deploy:
script:
- drush deploy -y
Distribuzione dei contenuti
Il contenuto delle pagine (l’HTML nei campi di testo) è contenuto del database, non configurazione. Opzioni per distribuire i contenuti tra ambienti:
Modulo Default Content
Esporta i contenuti come file YAML e importali nell’ambiente di destinazione.
Content Synchronization
Usa il modulo Content Synchronization (content_sync) per esportare
e importare entità di contenuto.
Sincronizzazione del database
Copia il database da un ambiente all’altro:
drush sql:sync @source @target
Considerazioni per ambiente
Percorsi dei file
I contenuti di DXPR Builder fanno riferimento alle immagini caricate tramite percorso file. Sincronizza la directory dei file tra gli ambienti.
Chiavi prodotto
Ogni ambiente richiede una chiave prodotto valida. Con il valore predefinito di
Configuration storage, dxpr_builder.settings.yml contiene quella
chiave in chiaro, come json_web_token. Prima che il file finisca nel
tuo repository:
- Crea una chiave il cui provider legga una variabile d’ambiente o un
file, in Configuration > System > Keys
(
/admin/config/system/keys). - In DXPR Studio > DXPR Builder > General Settings
(
/admin/dxpr_studio/dxpr_builder/settings), imposta Storage method su Key module, scegli quella chiave in Key e fai clic su Save settings. Questo azzerajson_web_token. - Esporta di nuovo la configurazione e verifica che
dxpr_builder.settings.ymlnon contenga più la chiave.
Una chiave con il provider Configuration memorizza il valore nel suo file esportato, quindi non è sicuro fare il commit nemmeno di quello.
Prossimi passi
Content staging tra ambienti e continua a esplorare DXPR Builder.