Modo de implementación avanzada

Con la integración predeterminada de Looker Git, los desarrolladores de Looker confirman los cambios en la rama de desarrollo y, luego, combinan la rama de desarrollo en la rama de producción. Luego, cuando realices la implementación en el entorno de Looker, este usará la última confirmación en la rama de producción. (Consulte la página de documentación Cómo usar el control de versión y la implementación para conocer el flujo de trabajo predeterminado de Git y otras opciones de implementaciones avanzadas de Git).

Para las implementaciones avanzadas de Git en las que no quieres que se use la confirmación más reciente en la rama de producción para el entorno de Looker, un administrador de Looker puede habilitar el modo de implementación avanzada. Cuando se habilita, el modo de implementación avanzada permite que un desarrollador con permiso deploy especifique una etiqueta o un SHA de confirmación diferente para implementar en tu entorno de producción de Looker, en lugar de usar la última confirmación en la rama de producción. Si quieres implementar una confirmación desde una rama diferente, puedes usar el modo de implementación avanzada webhook o el extremo de la API.

El modo de implementación avanzada ayuda a consolidar repositorios en flujos de trabajo de desarrolladores de múltiples entornos, en los que cada entorno apunta a una versión diferente de una base de código. También otorga a uno o más desarrolladores o administradores un mayor control sobre los cambios que se implementan en producción.

Cuando se habilita el modo de implementación avanzada, Looker no solicita a los desarrolladores que implementen sus cambios en la producción. En cambio, Looker solicita a los desarrolladores que combinen sus cambios en la rama de producción. A partir de allí, los cambios solo se pueden implementar de las siguientes maneras:

Habilita el modo de implementación avanzada

Para habilitar el modo de implementación avanzada, sigue estos pasos:

  1. Selecciona el ícono Configuración del menú de íconos a la izquierda y navega a la pestaña Configuración de la página Configuración del proyecto.
  2. Selecciona la casilla de verificación junto a Enable Advanced Deploy Mode, en la sección Implementación.
  3. Selecciona el botón Guardar configuración del proyecto para guardar el cambio.

Control de versión con modo de implementación avanzado

Cuando el modo de implementación avanzada está habilitado, la implementación en producción desde Looker ya no es una opción para los desarrolladores. En cambio, cuando el desarrollador realice una confirmación, el botón le pedirá que combine los cambios con la rama principal, en lugar de solicitarle que los implemente en producción.

Los cambios se implementan en producción mediante un webhook, la API o el administrador de implementación.

Deployment Manager

En el caso de los proyectos con el modo de implementación avanzada habilitado, los desarrolladores de Looker que tienen el permiso deploy pueden usar Deployment Manager para implementar una confirmación o etiqueta en su entorno de producción de Looker.

Deployment Manager muestra todas las confirmaciones y etiquetas que se implementaron con el modo de implementación avanzada.

Como se describe en la sección Cómo implementar una confirmación de Deployment Manager en esta página, puede implementar una confirmación con o sin una etiqueta. Si implementas una confirmación con una etiqueta, Deployment Manager muestra el SHA de la etiqueta, que difiere de un SHA de commit. Puedes usar el historial de confirmación de tu proyecto de Looker para ver el SHA de confirmación que está asociado con una etiqueta. De lo contrario, si implementas una confirmación sin una etiqueta, el administrador de implementaciones muestra el SHA de confirmación, que es lo mismo que el SHA de confirmación que puedes ver en la interfaz de tu proveedor de Git o en el historial de confirmaciones de tu proyecto de Looker.

Si aún no usaste el modo de implementación avanzada para implementar una confirmación, selecciona el botón Seleccionar confirmación a fin de ver el historial de confirmaciones con las confirmaciones que los desarrolladores de Looker combinaron con la rama de producción.

En el caso de los proyectos que usaron el modo de implementación avanzada para implementar una confirmación, el historial de confirmaciones también mostrará las etiquetas asociadas de una confirmación, si las hubiera, y también indicará qué confirmación es la versión actual que se usa para la producción.

Si la rama de producción tiene confirmaciones más recientes que la implementación implementada, el administrador de implementación muestra esta información y muestra la confirmación más reciente que los desarrolladores de Looker combinaron con la rama de producción.

Implementa una confirmación de Deployment Manager

Existen varias formas de implementar una confirmación desde Deployment Manager:

  1. Para implementar una confirmación que aún no se implementó, selecciona el botón Seleccionar confirmación a fin de seleccionar todas las confirmaciones que se combinaron en la rama de producción remota. Si quieres implementar una confirmación desde una rama diferente, usa el modo de implementación avanzada webhook o el extremo de la API.
  2. Para implementar la confirmación combinada más reciente en la rama de producción remota, selecciona el botón Implementar versión más reciente.
  3. Para implementar una confirmación o etiqueta que se implementó con anterioridad, seleccione el menú de tres puntos Opciones en Deployment Manager y, luego, Implementar en producción.

Si eliges una confirmación que no se implementó antes, Deployment Manager mostrará la ventana modal Deploy Commit.

  1. Para implementar la confirmación sin asignarle una etiqueta, selecciona Implementar sin etiquetado y, luego, Implementar en entorno. De lo contrario, mantén seleccionada la opción Tag and deploy.
  2. Especifica una etiqueta para la confirmación. Una etiqueta Git marca la importancia de la confirmación en el historial del repositorio, como el número de versión o el nombre de la versión. Ten en cuenta lo siguiente sobre las etiquetas de Git:

    • Las etiquetas de Git deben ser únicas dentro del repositorio de Git. No puedes usar la misma etiqueta para dos confirmaciones diferentes en tu repositorio.
    • Las etiquetas de Git no pueden contener espacios ni ciertos caracteres especiales. Consulta la documentación de referencia de Git a fin de conocer las reglas para nombrar referencias en Git.
  3. De manera opcional, puede agregar una descripción para la etiqueta a fin de proporcionar más detalles sobre la confirmación.

  4. Selecciona Implementar en el entorno para implementar la confirmación en la versión de producción de la instancia de Looker.

Cuando implementes una confirmación, Deployment Manager la marcará como la versión actual en tu entorno de producción de Looker.

Implementa con webhooks

Para los proyectos con modo de implementación avanzada, puedes usar el webhook de implementación a fin de implementar cambios en la producción.

Para configurar el webhook de implementación, primero debes agregar un secreto de webhook para tu proyecto de Looker desde la página Configuración del proyecto. Esto permite garantizar que solo las partes autorizadas puedan activar el webhook de implementación.

Hay dos webhooks disponibles para implementar cambios en la producción con el modo de implementación avanzado habilitado. Un webhook sirve para implementar el encabezado de una rama y el otro para implementar una etiqueta o SHA de Git específicos.

El webhook para implementar el encabezado de una rama usa este formato:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>

El webhook para implementar una etiqueta o un SHA de confirmación usa este formato:

<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>

Reemplaza la información de los corchetes angulares < > con la información específica de la dirección de tu instancia, el proyecto de LookML y el nombre de la rama o la confirmación o SHA. Este es un ejemplo de webhook para implementar el nombre de etiqueta v1.0 del proyecto e_faa en la instancia de Looker docsexamples.dev.looker.com:

https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0

Implementa con la API

Para proyectos con modo de implementación avanzada, puedes usar la API de Looker a fin de implementar cambios en la producción.

Para realizar implementaciones con la API, el usuario de la API que realice la llamada deberá tener el permiso deploy. Consulta las páginas de documentación de Autenticación de la API de Looker y Comienza a usar la API para obtener más información sobre la autenticación y el uso de la API de Looker.

Para realizar una implementación con la API, usa el extremo deploy_ref_to_production. Se puede llamar a este extremo de varias maneras. Los siguientes ejemplos se aplican a los métodos HTTPS y SDK.

HTTPS

Cuando aplique los siguientes ejemplos, asegúrese de reemplazar la información de los corchetes angulares < > con la información específica de la dirección de su instancia, el proyecto de LookML, el nombre de la rama, el SHA o la etiqueta.

Para realizar una implementación manual con el extremo de API de deploy_ref_to_production, consulta los siguientes ejemplos, que usan el método HTTPS. Para obtener más información y ejemplos de cómo llamar de forma manual a la API mediante solicitudes de CURL, consulta el archivo How to Authenticate to the API de GitHub o usa el Explorador de API. Puedes instalar el Explorador de API en tu instancia de Looker desde el Marketplace de Looker o puedes ver una versión pública en el Portal para desarrolladores de Looker.

Usa los siguientes ejemplos en una solicitud HTTPS para implementar el encabezado de una rama o una etiqueta o SHA de confirmación específica a través del extremo de API de deploy_ref_to_production:

Implementa el encabezado de una rama: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

Implementa una etiqueta o un SHA de confirmación: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

Cuando aplique los siguientes ejemplos, asegúrese de reemplazar la información de los corchetes angulares < > con la información específica de su proyecto de LookML y el nombre de la rama, SHA o etiqueta.

Como alternativa, puedes usar uno de los SDK de Looker, en lugar de enviar solicitudes manuales a la API. Los SDK controlan los detalles de autenticación, serialización de parámetros y respuestas, y otras inquietudes.

La implementación con deploy_ref_to_production con el método del SDK se ve de la siguiente manera:

Implementa el encabezado de una rama: deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

Implementa una etiqueta o un SHA de confirmación: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})