En esta página, se describe cómo configurar elementos de tu proyecto para integrarlos con Git para el control de versión.
Configuración del proyecto
Para ver la configuración de tu proyecto, ábrelo y, luego, selecciona el ícono de Configuración en el menú de íconos del IDE de Looker.
Desde aquí, puedes acceder a tres pestañas de Configuración del proyecto:
Configuración
La pestaña Configuration de la página Projects Settings abre la página Project Configuration. En la página Project Configuration, puedes configurar los siguientes parámetros:
- Nombre: Es el nombre de tu proyecto. Para cambiar el nombre de tu proyecto, edita el texto y haz clic en el botón Guardar configuración del proyecto. Consulta la página de documentación Cómo acceder a la información de un proyecto y editarla para obtener más detalles.
Nombre de la rama de producción de Git: Especifica el nombre de la rama de Git que se usará como destino de combinación para las ramas de desarrollo de tu proyecto. La rama de Git debe existir en tu repositorio de Git. Consulta la sección Nombre de la rama de producción de Git en esta página para obtener más información.
Calidad del código: Determina si se requiere que los desarrolladores ejecuten correctamente el validador de LookML en el proyecto antes de confirmar cualquier cambio en él. Calidad del código tiene las siguientes opciones:
- Requerir la corrección de errores y advertencias antes de la confirmación: Los desarrolladores de Looker solo pueden confirmar los cambios después de ejecutar correctamente el Validador de LookML y resolver todos los errores y advertencias. Esta es la configuración recomendada.
- Solo se requieren errores de corrección antes de confirmar: Los desarrolladores de Looker solo pueden confirmar los cambios después de ejecutar correctamente el validador de LookML y resolver todos los errores. Los desarrolladores pueden confirmar los cambios cuando existen advertencias. Si bien no se recomienda, esta opción puede ser útil, por ejemplo, si se introducen nuevas advertencias en el código LookML en funcionamiento después de una actualización de Looker.
- Permitir confirmación de código dañado: Los desarrolladores de Looker pueden confirmar los cambios sin ejecutar el validador de LookML, independientemente de si hay errores o advertencias en el código. No se recomienda esta opción, ya que puede generar un modelo de LookML que no funcione o que produzca resultados erróneos.
Requerir que se aprueben las pruebas de datos antes de implementar este proyecto en producción: Si el proyecto de LookML tiene uno o más parámetros
test
, esta opción requiere que los desarrolladores ejecuten las pruebas de datos antes de implementar cualquier cambio. Si las pruebas de datos se aprueban, el IDE permitirá que el desarrollador implemente los cambios en producción. Consulta la página de documentación del parámetrotest
para obtener información sobre cómo configurar pruebas de datos en tu proyecto de LookML. Consulta la página de documentación Cómo implementar y usar el control de versión para obtener información sobre cómo ejecutar pruebas de datos en tu proyecto. De forma predeterminada, la opción Requerir que se aprueben las pruebas de datos antes de implementar este proyecto en producción está habilitada para los proyectos de LookML nuevos.Integración de Git: Especifica los niveles de integración con tu proveedor de Git. Consulta las opciones de integración de Git para obtener más detalles.
Habilitar el modo de implementación avanzada: Es un parámetro de configuración que, cuando está habilitado, permite a los usuarios implementar cualquier SHA, etiqueta o rama en producción. Consulta la página de documentación del Modo de implementación avanzado para obtener más información sobre el uso del control de versión con el Modo de implementación avanzado habilitado.
Secreto de implementación de webhook: Configura la autenticación para implementar cambios en producción en tu instancia de Looker. Consulta la página de documentación Configura el secreto de implementación del webhook para obtener más información.
Restablecer conexión de Git: Este botón abre la ventana Configurar Git, en la que puedes actualizar la configuración de conexión de tu repositorio de Git.
Si restableces tu conexión de Git, se conservará el historial de Git para la rama principal. También conservará el historial de la rama personal de cada desarrollador de Looker una vez que sincronice su modo de desarrollador. Para preservar el historial de todas las ramas, consulta la página Prácticas recomendadas para migrar a un nuevo repositorio de Git.
Borrar proyecto: Este botón borra el proyecto y quita todo el código LookML del proyecto en todos los entornos de desarrollo y producción de tu instancia de Looker.
Resumen de Git: En esta sección, se muestra la configuración de Git del proyecto y la información de la rama de Git del usuario actual.
Nombre de la rama de producción de Git
Con la integración predeterminada de Looker en Git, todos los desarrolladores de Looker combinan sus cambios en una rama principal llamada master
. Puedes usar el campo Nombre de la rama de producción de Git para especificar qué rama de tu repositorio de Git debe usar Looker como la rama de destino en la que se combinan las ramas de tus desarrolladores de Looker. (consulta la página de documentación Cómo usar el control de versiones y realizar implementaciones para obtener el flujo de trabajo predeterminado de Git y otras opciones para implementaciones avanzadas de Git).
En el caso de los proyectos existentes, considera hacer lo siguiente antes de cambiar el nombre de la rama de producción de Git:
- Pídeles a todos los desarrolladores del proyecto de Looker que confirmen sus cambios y combinen sus ramas con la rama de producción existente y, luego, que detengan su trabajo hasta que se actualice y guarde el nombre de la rama de producción de Git en la configuración del proyecto de Looker.
- Si tu proyecto usa solicitudes de extracción integradas, finaliza y combina las solicitudes de extracción abiertas, según corresponda.
- Realiza las preparaciones necesarias en el proveedor de Git, como crear una rama nueva en tu repositorio, cambiar el nombre de la rama predeterminada de Git existente o cualquier acción que sea necesaria para preparar la rama para que Looker la use como rama de destino para la combinación. Como mínimo, debes verificar que la rama que deseas usar sea una rama existente en tu repositorio de Git.
Para cambiar la rama de Git que usa tu proyecto como destino de combinación para las ramas de desarrollo, haz lo siguiente:
- Selecciona el ícono Settings en el menú de íconos del IDE de Looker para mostrar la configuración del proyecto. La pestaña Configuración se abrirá de forma predeterminada.
- En el campo Nombre de la rama de producción de Git, ingresa el nombre de la rama de Git que deseas usar como rama de producción para tu proyecto de Looker.
- Haz clic en el botón Save Project Configuration para guardar el cambio.
Importar credenciales
En la sección Import Credentials, puedes administrar las credenciales de autenticación para repositorios remotos privados. Consulta la página de documentación Importa archivos de otros proyectos para obtener más información.
Administración de ramas
En la pestaña Administración de ramas de la página Configuración de proyectos, puedes ver todas las ramas de Git asociadas con el proyecto. Consulta la página de documentación Cómo usar el control de versión y la implementación para obtener más información.
Opciones de integración de Git
Una vez que configures tu conexión de Git, Looker usará tu proveedor de Git para administrar tus archivos de origen de LookML, como se describe en la página de documentación Cómo usar el control de versiones y la implementación.
Si eres administrador de Looker, puedes configurar opciones adicionales para la integración de Looker con Git mediante las opciones de Integración de Git en la pestaña Configuración del panel de configuración del proyecto:
- Desactivada: Looker no mostrará ningún vínculo externo a la interfaz de tu proveedor de Git.
- Mostrar vínculos: Looker proporcionará vínculos externos a la interfaz de tu proveedor de Git para que tus desarrolladores puedan ver el proyecto en la interfaz del proveedor de Git. Looker también proporcionará vínculos para cada archivo del proyecto para que tus desarrolladores puedan ver el historial del archivo y la información de atribución de Git en la interfaz de tu proveedor de Git. Consulta la sección Integración de vínculos externos a tu proveedor de Git para obtener información sobre los vínculos.
- Se recomiendan las solicitudes de extracción: Además de proporcionar vínculos externos a la interfaz de tu proveedor de Git, Looker les dará a los desarrolladores la opción de enviar una solicitud de extracción para que otro desarrollador pueda aprobar los cambios antes de agregarlos al proyecto. Consulta la sección Cómo integrar solicitudes de extracción para tu proyecto para obtener información sobre cómo configurar esta opción.
- Solicitudes de extracción obligatorias: Es lo mismo que Solicitudes de extracción recomendadas, excepto que tus desarrolladores de LookML deben abrir una solicitud de extracción para enviar cambios al proyecto. Consulta la sección Cómo integrar solicitudes de extracción para tu proyecto para obtener información sobre cómo configurar esta opción.
Para guardar la configuración de integración de Git, haz clic en Guardar configuración del proyecto en la sección Implementación.
Integra vínculos externos a tu proveedor de Git
Si habilitaste alguna de las opciones de integración de Git adicionales (Mostrar vínculos, Solicitudes de extracción recomendadas o Solicitudes de extracción obligatorias), Looker proporciona vínculos externos a la interfaz de tu proveedor de Git. Estos vínculos externos abren una nueva pestaña del navegador en el sitio de tu proveedor de Git.
Para ver estos vínculos externos, tus desarrolladores deben tener una cuenta con tu proveedor de Git y acceso al repositorio de Git del proyecto.
En el menú de tres puntos File Options de cada uno de tus archivos LookML, Looker proporciona vínculos al sitio de tu proveedor de Git para ver el archivo, ver la información de atribución de Git del archivo y ver el historial de confirmación del archivo.
En el panel Acciones de Git, también puedes usar la opción Ver proyecto en <Git provider>
para abrir los archivos de tu proyecto en el sitio de tu proveedor de Git.
Cómo integrar solicitudes de extracción para tu proyecto
Con la integración predeterminada de Looker con Git, los desarrolladores de Looker confirman sus cambios en su rama de desarrollo y, luego, los combinan en la rama de producción. Luego, cuando realices la implementación en el entorno de Looker, este usará la confirmación más reciente de la rama de producción. (consulta la página de documentación Cómo usar el control de versiones y realizar implementaciones para obtener el flujo de trabajo predeterminado de Git y otras opciones para implementaciones avanzadas de Git).
En lugar de permitir que los desarrolladores de Looker combinen su rama de desarrollo en la rama de producción de Looker, puedes configurar tu proyecto con la opción Pull Requests Recommended o Pull Requests Required:
- Se recomiendan las solicitudes de extracción: Después de que un desarrollador confirma los cambios en su rama de desarrollo, el botón Git en el IDE de Looker le solicita que abra una solicitud de extracción para combinar su rama de desarrollo en la rama de producción. Luego, el desarrollador puede abrir una solicitud de extracción para que otros desarrolladores de Looker la revisen y aprueben desde la interfaz web del proveedor de Git. O bien, el desarrollador puede usar la opción Deploy to Production del panel de Acciones de Git para omitir la creación de una solicitud de extracción y, en su lugar, implementar los cambios en producción. (La opción Deploy to Production no está disponible si el proyecto está habilitado con el modo de implementación avanzada).
- Solicitudes de extracción obligatorias: Después de que un desarrollador confirma los cambios en su rama de desarrollo, el botón Git en el IDE de Looker le solicita que abra una solicitud de extracción. El desarrollador debe abrir una solicitud de extracción para combinar su rama de desarrollo en la rama de producción. Luego, otros desarrolladores de Looker pueden revisar y aprobar la solicitud de extracción desde la interfaz web del proveedor de Git.
Looker admite la integración de solicitudes de extracción para los siguientes proveedores de Git:
- GitHub
- GitLab
- Bitbucket Cloud
- Bitbucket Server (anteriormente, “Stash”)
Estas son algunas notas adicionales sobre el uso de solicitudes de extracción con Looker:
Para abrir solicitudes de extracción, los desarrolladores deben tener una cuenta con tu proveedor de Git y acceso al repositorio de Git del proyecto.
Si la función IP Allowlist está habilitada en tu instancia, para integrar solicitudes de extracción con cualquier proyecto de LookML, deberás agregar a la lista de entidades permitidas el rango de direcciones IP desde las que tu proveedor de Git realiza solicitudes salientes. Por ejemplo, las direcciones IP actuales de GitHub se enumeran en el registro de cambios de GitHub. Las IP están sujetas a cambios y serán diferentes para otros proveedores de Git.
Si habilitaste el modo de implementación avanzado, no es necesario configurar un webhook en la sección Configura tu proyecto con solicitudes de extracción integradas, ya que el modo de implementación avanzado separa las funciones de combinación y de implementación.
Si un desarrollador de Looker emitió una solicitud de extracción que deseas revertir, consulta la publicación de la comunidad Cómo revertir solicitudes de extracción de Looker a través de GitHub para obtener más información.
Las solicitudes de extracción de Git pueden permitir usar una instancia de prueba para Looker, de modo que puedas tener una instancia de prueba y una de producción, con solicitudes de extracción habilitadas en la instancia de prueba. Todo el desarrollo y la revisión de código se pueden realizar en el entorno de pruebas, y el código revisado se puede implementar en la instancia de producción. Para configurar esto, consulta la publicación de la comunidad Flujo de trabajo de Git con un repositorio en varias instancias: desarrollo, pruebas y producción.
Looker combina los cambios de una rama de desarrollador de Looker en la rama de producción con el método de combinación commit de combinación. Cuando uses la interfaz de tu proveedor de Git, asegúrate de que los desarrolladores no usen la combinación de unión ni la combinación de rebase. Consulta la sección Opciones de combinación en la interfaz del proveedor de Git para obtener más información.
Cómo configurar tu proyecto con solicitudes de extracción integradas
Para configurar tu proyecto de Looker con solicitudes de extracción de Git, sigue estos pasos:
- En tu proyecto, selecciona Configuración en el menú de íconos del IDE de Looker.
- En la sección Integración de Git de la pestaña Configuración, selecciona Solicitudes de extracción recomendadas o Solicitudes de extracción obligatorias.
- De manera opcional, si quieres configurar un webhook de implementación automática en la interfaz de tu proveedor de Git, copia la información del webhook y pégala en un archivo de texto. Si tu proyecto está configurado para usar el modo de implementación avanzado, puedes omitir este paso. También puedes decidirlo más tarde y volver a la configuración del proyecto para obtener la información del webhook.
- De manera opcional, puedes configurar un secreto de implementación de webhook para autenticar un webhook de implementación automática desde tu proveedor de Git o un webhook de modo de implementación avanzado. Para crear un secreto de webhook, haz clic en Establecer secreto de webhook. Copia el secreto de implementación y pégalo en un archivo de texto para usarlo cuando agregues el webhook a la interfaz de tu proveedor de Git. También puedes decidirlo más tarde y volver a la configuración del proyecto para agregar un secreto de implementación. Consulta la página de documentación Configura el secreto de implementación del webhook para obtener más información.
- Haz clic en Guardar configuración del proyecto.
Ahora, cada vez que un desarrollador de Looker confirme cambios en tu proyecto, el IDE de Looker mostrará el botón Open Pull Request. El botón abre una pestaña nueva del navegador directamente en la página de la solicitud de extracción nueva en el sitio web de tu proveedor de Git.
Una vez que hayas configurado tu proyecto de Looker para usar solicitudes de extracción, haz una de las siguientes opciones para configurar cómo se implementan las confirmaciones en tu entorno de producción:
- Para implementar automáticamente las confirmaciones más recientes que se combinaron con tu rama de producción, usa la interfaz de tu proveedor de Git para agregar un webhook, como se describe en la siguiente sección de esta página.
- Para especificar manualmente qué ramas o confirmaciones se implementan, habilita el modo de implementación avanzada. Consulta la página de documentación del modo de implementación avanzada para obtener información sobre cómo habilitar y administrar el modo de implementación avanzada.
Agrega un webhook a tu proveedor de Git
En el caso de los proyectos de Looker habilitados para las solicitudes de extracción, puedes configurar un webhook de implementación en la interfaz de tu proveedor de Git. Este webhook activará Looker para que implemente la confirmación más reciente de la rama de producción cada vez que combines una solicitud de extracción en la interfaz del proveedor de Git.
En la mayoría de los casos, no es recomendable configurar un webhook de implementación automática si tu proyecto está configurado para usar el modo de implementación avanzada. El modo de implementación avanzado te permite seleccionar la confirmación y la rama que deseas implementar, por lo que, en la mayoría de los casos, configurar un webhook de implementación automática anularía las funciones del modo de implementación avanzado.
Para agregar un webhook de implementación automática en la interfaz de tu proveedor de Git, primero ve a la configuración de tu proyecto en Looker. Para ello, haz clic en el ícono Configuración en el menú de íconos del IDE de Looker del proyecto. A continuación, copia el webhook de la sección Integración de Git.
El webhook tiene el formato <instance_url>/webhooks/projects/<project_name>/deploy
.
Reemplaza <instance_url>
por la URL de tu instancia de Looker. Por ejemplo, si la URL de tu instancia de Looker es example.looker.com
y el nombre de tu proyecto es e_faa
, el webhook se verá de la siguiente manera:
https://example.looker.com/webhooks/projects/e_faa/deploy
En la configuración del proyecto de Looker, también puedes obtener un secreto de implementación de webhook para autenticar las integraciones de Git de tu proyecto con tu proveedor de Git. Consulta la página de documentación Configura el secreto de implementación del webhook para obtener más información.
Una vez que tengas la URL del webhook y el secreto del webhook de implementación, podrás ingresarlos en la interfaz de tu proveedor de Git. Si tu proveedor de Git es GitHub, sigue estos pasos:
- Navega a la configuración del repositorio de tu proyecto en el repositorio de GitHub.
- En la configuración de tu repositorio, haz clic en Webhooks. Haz clic en Agregar webhook para abrir la ventana Agregar webhook.
- En el campo URL de la carga útil, pega la información del webhook que copiaste de la sección Integración de Git en Looker.
- De manera opcional, puedes agregar un Secret de implementación de webhook que autentique las integraciones de Git de tu proyecto con tu proveedor de Git. Copia el secreto de implementación de la configuración del proyecto de LookML y pégalo en el campo Secret de la interfaz del proveedor de Git. Consulta la página de documentación Configura el secreto de implementación del webhook para obtener más información.
- Selecciona la opción Solo el evento push en el campo ¿Qué eventos deseas activar con este webhook?.
- Haz clic en Agregar webhook.
Usa un webhook de implementación para extraer desde un repositorio de Git remoto
Cuando las solicitudes de extracción están habilitadas para tu proyecto de LookML y los webhooks de implementación no están automatizados, es posible que, en ocasiones, el código LookML que ves en el modo de producción de Looker no coincida con el código LookML de la rama principal de tu repositorio de Git. Esto puede ocurrir en las siguientes situaciones:
- Cuando las solicitudes de extracción están habilitadas para el repositorio
- Cuando se edita LookML fuera del entorno de desarrollo de Looker, por ejemplo:
- En el repositorio de Git
- En otra instancia de Looker, como una instancia de pruebas
Puedes sincronizar la rama de producción de Looker con la rama principal del repositorio mediante un webhook de implementación:
Abre una pestaña nueva del navegador y escribe la siguiente URL. Para ello, reemplaza
<instance_url>
por la URL de tu instancia de Looker y<project_name>
por el nombre de tu proyecto de LookML:<instance_url>/webhooks/projects/<project name>/deploy
Después de ejecutar la URL del webhook de implementación, en una página web en blanco, se mostrará un mensaje de éxito similar al siguiente:
{"operations":[{"error":false,"error_code":0,"command":"Checkout Branch #\u003cLooker::GitBranch:0x5798672b\u003e","node_id":728,"results":["Success"]},{"error":false,"error_code":0,"command":"jgit revert_repo","node_id":728,"results":["Success"]}],"new_head":"05f772af48709fc2799fefe408e3fdd895a63284","old_head":"77412cad9fd7ed3eed1627afa201fdf7dcb97dd1"}
Ahora, tu modo de producción en Looker se actualizó para reflejar tu rama principal remota de Git. Tu rama personal de desarrollador y las ramas compartidas no se verán afectadas.
Extrae desde un repositorio de Git remoto para webhooks con secretos de implementación
Si tu proyecto de LookML también requiere un secreto de implementación de webhook para enviar cambios de la rama principal a la rama de producción, recibirás uno de los siguientes errores cuando sincronices la rama de producción con la rama principal del repositorio con el método que se describe en la sección anterior, Cómo usar un webhook de implementación para extraer desde un repositorio de Git remoto:
{"error":"Uh oh! Something went wrong."}
O:
{"error":"Not found."}
En lugar de usar el webhook de implementación, puedes ejecutar el siguiente comando cURL en tu terminal con el secreto del webhook. Asegúrate de reemplazar los siguientes campos:
- Reemplaza
<instance_URL>
por la URL de tu instancia de Looker. - Reemplaza
<deploy_secret>
por el secreto de implementación de tu proyecto. - Reemplaza
<project_name>
por el nombre de tu proyecto de LookML.
curl -i -X POST -H "X-Looker-Deploy-Secret:<deploy_secret>" https://<instance_url>/webhooks/projects/<project_name>/deploy
Por ejemplo, si sincronizaras una rama de producción para ecommerce_project en la instancia Brettcase con la rama principal del repositorio, haz lo siguiente:
curl -i -X POST -H "X-Looker-Deploy-Secret:123123123secretgoeshere123123123" https://brettcase.looker.com/webhooks/projects/ecommerce_project/deploy
Opciones de combinación en la interfaz del proveedor de Git
Si tu proyecto de Looker está integrado con solicitudes de extracción, los desarrolladores usan la interfaz de tu proveedor de Git para enviar solicitudes de extracción y combinar los cambios en la rama de producción.
Looker admite el método de confirmación de combinación para combinar los cambios de una rama de desarrollo en tu rama de producción. Sin embargo, la interfaz de tu proveedor de Git puede mostrar opciones adicionales para la combinación, como Combinar y unir o Rebase y combinar.
Looker no admite la combinación de unión ni la combinación de rebase, por lo que tus desarrolladores deben evitar usar estas opciones. Si es posible, la práctica recomendada es inhabilitar estas opciones para tu repositorio. Para inhabilitar estas opciones en un repositorio de GitHub, sigue estos pasos:
Navega a la pestaña Configuración para acceder a la configuración del repositorio de tu proyecto en GitHub.
SUGERENCIA: En el caso de los proyectos configurados con integración de Git, puedes usar la opción Ver proyecto en Git en el menú de Git del proyecto en Looker.
En la configuración de tu repositorio, haz clic en Opciones en el menú de navegación.
Ve a la sección Botón de combinación y deja marcada solo la opción Permitir confirmaciones de combinación. Inhabilita las opciones Allow squash merging y Allow rebase merging.
Una vez que inhabilites las opciones de combinación, no estarán disponibles en GitHub cuando tus desarrolladores combinen una rama en el repositorio.