Modo de implementación avanzado

Con la integración predeterminada de Looker para Git, los desarrolladores de Looker confirman los cambios en la rama de desarrollo y, luego, la combinan en la rama de producción. Luego, cuando implemente en el entorno de Looker, Looker usará la confirmación más reciente en la rama production. (Consulte la página de documentación Uso de control de versión y de implementación para conocer el flujo de trabajo predeterminado de Git y otras opciones para las implementaciones avanzadas de Git).

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

El modo de implementación avanzado ayuda a consolidar los 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 varios desarrolladores o administradores mayor control sobre los cambios que se implementan en producción.

Cuando el modo de implementación avanzado está habilitado, el IDE de Looker no les pide a los desarrolladores que implementen sus cambios en la producción. En cambio, el IDE solicita a los desarrolladores que combinen sus cambios en la rama production. Desde allí, los cambios solo se pueden implementar de las siguientes maneras:

Habilita el modo de implementación avanzado

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

  1. Navega hasta la pestaña Configuración de la página Configuración del proyecto haciendo clic en el ícono Configuración del menú de íconos a la izquierda.
  2. Selecciona la casilla de verificación junto a Enable Advanced Deploy Mode, en la sección Deployment.
  3. Selecciona el botón Save Project Configuration para guardar los cambios.

Control de versiones con el modo de implementación avanzado

Cuando está habilitado el modo de implementación avanzada, la implementación en producción desde el botón del IDE deja de ser una opción para los desarrolladores. En cambio, cuando el desarrollador realice una confirmación, el botón le pedirá que combine sus cambios en la rama principal en lugar de solicitarle que implemente en producción:

Los cambios se implementan en producción mediante un webhook, la API o la IU de Deployment Manager en el IDE de Looker.

Deployment Manager

Para los proyectos con el modo de implementación avanzado habilitado, los desarrolladores de Looker con el permiso deploy pueden usar el administrador de implementaciones en el IDE de Looker 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 avanzado.

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

Si todavía no utilizó el modo de implementación avanzado para implementar una confirmación, haga clic en el botón Seleccionar confirmación a fin de ver el historial de confirmaciones con las que los desarrolladores de Looker combinaron con la rama de producción:

En el caso de los proyectos que utilizaron el modo de implementación avanzado 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 production tiene confirmaciones más recientes que la implementada, el Deployment Manager muestra esta información y muestra la confirmación más reciente que tus desarrolladores de Looker combinaron con la rama production:

Implementa una confirmación desde Deployment Manager

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

  1. Para implementar una confirmación que aún no se implementó, haz clic en el botón Seleccionar confirmación a fin de elegir entre 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 avanzado webhook o el extremo de API).
  2. Para implementar la confirmación combinada más reciente en la rama de producción remota, haz clic en el botón Implementar más reciente.
  3. Para implementar una confirmación o etiqueta que se implementó con anterioridad, haga clic en el menú de tres puntos del administrador de implementaciones y seleccione Implementar en producción.

Si eliges una confirmación que no se implementó con anterioridad, el administrador de implementaciones mostrará una ventana modal como esta:

  1. Para implementar la confirmación sin asignarle una etiqueta, selecciona Implementar sin etiquetado y haz clic en Implementar en el entorno. De lo contrario, mantén seleccionada la opción Implementar y etiquetar.
  2. Especifica una etiqueta para la confirmación. Una etiqueta de Git marca la importancia de la confirmación en el historial del repositorio, como un 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 brindar más detalles sobre la confirmación.

  4. Haz clic en Deploy to Environment para implementar la confirmación en la versión de producción de tu instancia de Looker.

Cuando implemente una confirmación, el administrador de implementaciones la marcará como la versión actual en su entorno de producción de Looker:

Implementa con webhooks

A fin de configurar el webhook de implementación, primero debe agregar un secreto de webhook para su proyecto de Looker desde la página Configuración del proyecto. Esto es para 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 una etiqueta o SHA de Git específicas.

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 un SHA o una etiqueta de confirmación usa este formato:

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

Reemplaza la información entre 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 SHA/etiqueta de confirmación. Este es un ejemplo de webhook para implementar el nombre de la etiqueta v1.0 en el 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

La implementación con la API de Looker es una alternativa a la implementación con un webhook cuando el modo de implementación avanzado está habilitado. Para realizar una implementación con la API, el usuario de la API que realiza la llamada necesitará el permiso deploy.

Consulta las páginas de documentación Autenticación de la API de Looker y Introducción a 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. Este extremo se puede llamar de diferentes maneras. Los siguientes ejemplos son para los métodos HTTPS y SDK.

HTTPS

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

Para realizar una implementación manual con el extremo de la 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 CURL, consulta el archivo readme de Cómo autenticar la API de GitHub o el Explorador de API. Puedes instalar el Explorador de API en tu instancia de Looker desde Looker Marketplace 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 SHA o etiqueta de confirmación específica mediante el extremo de la 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 SHA o una etiqueta de confirmación: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

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

Como alternativa, usa uno de los SDK de Looker en lugar de realizar solicitudes manuales a la API. Los SDK se encargan de los detalles de la autenticación, la 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 SHA o una etiqueta de confirmación: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})