---
url: 'https://dxpr.com/es/hc/documentation/learn-dxpr-builder/advanced/ci-cd'
title: 'Integración de CI/CD | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T11:15:27+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  El contenido de DXPR Builder se guarda en campos de texto y
  entidades de configuración de Drupal. Esta página explica cómo incluir el
  contenido de DXPR Builder en tu canalización de CI/CD y tus flujos de despliegue.
  Almacenamiento de contenido
  DXPR Builder guarda sus datos en la base de datos y en la configuración:
tags:
  - 'Run it in production'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T11:15:27+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Integración de CI/CD'
      description: |-
        El contenido de DXPR Builder se guarda en campos de texto y
        entidades de configuración de Drupal. Esta página explica cómo incluir el
        contenido de DXPR Builder en tu canalización de CI/CD y tus flujos de despliegue.
        Almacenamiento de contenido
        DXPR Builder guarda sus datos en la base de datos y en la configuración:
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T11:15:27+0000'
      dateModified: '2026-10-24T11:15:27+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/es/hc/documentation/learn-dxpr-builder/advanced/ci-cd'
      articleSection: 'Puesta en producción'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/es/hc/documentation/learn-dxpr-builder/advanced/ci-cd'
      description: |-
        El contenido de DXPR Builder se guarda en campos de texto y
        entidades de configuración de Drupal. Esta página explica cómo incluir el
        contenido de DXPR Builder en tu canalización de CI/CD y tus flujos de despliegue.
        Almacenamiento de contenido
        DXPR Builder guarda sus datos en la base de datos y en la configuración:
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Inicio
            item: 'https://dxpr.com/es'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: es
---
[Centro de ayuda](/es/hc)/[Documentación](/es/hc/documentation) /[Aprende DXPR Builder](/es/hc/documentation/learn-dxpr-builder) /[Gestionar el sitio](/es/hc/documentation/learn-dxpr-builder/manage) /[Puesta en producción](/es/hc/documentation/learn-dxpr-builder/manage/production) # Integración de CI/CD.

 Aprende DXPR BuilderGestionar el sitioPuesta en producción

   ## En esta guía

 Guías relacionadas

- [Staging de contenidos](/es/hc/documentation/learn-dxpr-builder/advanced/content-staging)

El contenido de DXPR Builder se guarda en campos de texto y entidades de configuración de Drupal. Esta página explica cómo incluir el contenido de DXPR Builder en tu canalización de CI/CD y tus flujos de despliegue.

## Almacenamiento de contenido

DXPR Builder guarda sus datos en la base de datos y en la configuración:

| Tipo de datos | Almacenamiento | Método de despliegue |
|---|---|---|
| Contenido de página | Valores de campo de texto (base de datos) | Sincronización o migración de contenido |
| Plantillas de página | Entidades de configuración | Exportación/importación de configuración |
| Plantillas de usuario | Entidades de configuración | Exportación/importación de configuración |
| Ajustes | Configuración; guarda la clave de producto en **Configuration storage** | Exportación/importación de configuración una vez que la clave está en una entidad Key; ver abajo |
| Perfiles de usuario | Entidades de configuración | Exportación/importación de configuración |
| Clave de producto | Ajustes, o una entidad Key que contiene la clave o apunta a ella | Por entorno; ver abajo |

## Gestión de la configuración

Los ajustes y plantillas de DXPR Builder son configuración de Drupal. Despliégalos con la gestión de configuración estándar de Drupal.

### Exportación

```bash
drush config:export

```

Esto exporta estos archivos de configuración de 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`, o la entidad Key elegida para la clave de producto

No publiques `dxpr_builder.settings.yml` mientras la clave de producto esté en él; consulta [Claves de producto](#product-keys) abajo.

### Importación

```bash
drush config:import

```

### Ejemplo de canalización de CI

`drush deploy` ejecuta las actualizaciones de base de datos, importa la configuración y reconstruye las cachés en el orden correcto. Las versiones de DXPR Builder convierten contenido en sus actualizaciones de base de datos, así que ejecútalas en cada despliegue.

```yaml
deploy:
  script:
    - drush deploy -y

```

## Despliegue de contenido

El contenido de página (el HTML en campos de texto) es contenido de base de datos, no configuración. Opciones para desplegar contenido entre entornos:

### Módulo Default Content

Exporta contenido como archivos YAML e impórtalos en el entorno de destino.

### Content Synchronization

Usa el módulo Content Synchronization (`content_sync`) para exportar e importar entidades de contenido.

### Sincronización de base de datos

Copia la base de datos de un entorno a otro:

```bash
drush sql:sync @source @target

```

## Aspectos propios de cada entorno

### Rutas de archivos

El contenido de DXPR Builder referencia imágenes subidas por ruta de archivo. Sincroniza el directorio de archivos entre entornos.

### Claves de producto

Cada entorno necesita una clave de producto válida. Con el **Configuration storage** predeterminado, `dxpr_builder.settings.yml` guarda esa clave en texto claro, como `json_web_token`. Antes de que el archivo llegue a tu repositorio:

1. Crea una Key cuyo proveedor lea una variable de entorno o un archivo, en **Configuration** &gt; **System** &gt; **Keys**(`/admin/config/system/keys`).
2. En **DXPR Studio** &gt; **DXPR Builder** &gt; **General Settings**(`/admin/dxpr_studio/dxpr_builder/settings`), fija **Storage method** en **Key module**, elige esa clave en **Key** y haz clic en **Save settings**. Esto vacía `json_web_token`.
3. Exporta la configuración de nuevo y comprueba que `dxpr_builder.settings.yml` ya no contiene la clave.

Una Key con el proveedor **Configuration** guarda el valor en su propio archivo exportado, así que tampoco es seguro publicarlo.

## ¿Qué sigue?

[Staging de contenidos entre entornos](/hc/documentation/learn-dxpr-builder/advanced/content-staging) para seguir explorando DXPR Builder.