Configura los controles de versión del proyecto

En esta página, se describe cómo configurar elementos de tu proyecto a fin de integrarlos con Git para el control de versión.

Configuración del proyecto

Debes ser administrador de Looker para cambiar opciones en la página Configuración del proyecto. Los desarrolladores de Looker que no sean administradores pueden ver la página Configuración del proyecto, pero no pueden cambiar las opciones allí.

La página Configuración del proyecto tiene opciones de configuración para tu proyecto. Para ver esta página, abre tu proyecto y selecciona el ícono de Configuración en el menú de íconos de la izquierda.

Desde aquí, puedes acceder a tres secciones:

Configuración

En la pestaña Configuración de la página Configuración de proyectos, puedes establecer la siguiente configuración:

  • Nombre: Es el nombre del proyecto. Para cambiar el nombre de su proyecto, edite el texto y haga clic en el botón Save Project Configuration. Consulta la página de documentación de Acceso y edición de la información del proyecto para obtener más detalles.
  • Nombre de la rama de producción de Git: Especifica el nombre de la rama de Git que usarás 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 los cambios. La Calidad del código tiene las siguientes opciones:

    • Requerir corregir errores y advertencias antes de confirmar: Los desarrolladores de Looker pueden confirmar los cambios solo después de ejecutar correctamente el validador de LookML y resolver todos los errores y advertencias. Esta es la configuración recomendada.
    • Solo es necesario corregir errores antes de confirmar: Los desarrolladores de Looker pueden confirmar los cambios solo después de ejecutar correctamente el validador de LookML y resolver todos los errores. Los desarrolladores pueden confirmar cambios cuando existen advertencias. Si bien no se recomienda, esta opción puede ser útil, por ejemplo, si se introducen nuevas advertencias en el funcionamiento de LookML después de una actualización de Looker.
    • Permitir la confirmación de código dañado: Los desarrolladores de Looker pueden confirmar cambios sin ejecutar el validador de LookML y sin importar si existen errores o advertencias en LookML. No se recomienda esta opción, ya que puede hacer que LookML no funcione o produzca resultados erróneos.

  • Requerir que se pasen las pruebas de datos antes de implementar este proyecto en producción: Requiere que los desarrolladores ejecuten pruebas de datos antes de implementar cualquier cambio. Si se superan las pruebas de datos, el IDE le permitirá al desarrollador implementar cambios en la producción. Consulta la página de documentación del parámetro test para obtener información sobre la configuración de pruebas de datos en tu proyecto de LookML. Consulta la página de documentación Usa el control de versión y la implementación para obtener información sobre cómo ejecutar pruebas de datos en tu proyecto.

  • Integración de Git: Especifica los niveles de integración con tu proveedor de Git. Consulta Opciones de integración de Git para obtener más detalles.

  • Habilitar el modo de implementación avanzada: Una configuración que, cuando se habilita, permite que los usuarios implementen cualquier SHA, etiqueta o rama en producción. Consulta la página de documentación del Modo de implementación avanzada para obtener más información sobre el uso del control de versión con el Modo de implementación avanzada habilitado.

  • Secreto de implementación de webhook: Configura la autenticación para implementar cambios en la producción en la instancia de Looker. Consulta la página de documentación Configura el secreto de implementación de webhook para obtener más detalles.

  • Restablecer conexión de Git (Reset Git Connection): Este botón abre la ventana Configurar Git, en la que puedes actualizar la configuración de la 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. Si deseas conservar el historial para todas las ramas, consulta la página de prácticas recomendadas para migrar a un nuevo repositorio de Git.

  • Borrar proyecto: Este botón borra el proyecto, lo que quita todo el 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 Git de Looker, todos los desarrolladores de Looker combinan sus cambios en una rama 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. (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 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 fusionen sus ramas con la rama de producción existente. Luego, pausa su trabajo hasta que se actualice el nombre de la rama de producción de Git y se guarde en la configuración del proyecto de Looker.
  • Si tu proyecto usa solicitudes de extracción integradas, finaliza y combina cualquier solicitud de extracción abierta, según corresponda.
  • Realiza las preparaciones necesarias del lado del proveedor de Git, como crear una rama nueva en tu repositorio, cambiar el nombre de la rama de Git predeterminada existente o cualquier acción que pueda ser necesaria a fin de preparar la rama para que Looker pueda usarla como rama de destino. Como mínimo, debe verificar que la rama que desea usar sea una rama existente en su repositorio de Git.

Si deseas cambiar la rama de Git que usa tu proyecto como destino de combinación para las ramas de desarrollo, haz lo siguiente:

  1. Seleccione el ícono Settings en el menú de íconos a la izquierda para mostrar la página Project Settings. La pestaña Configuración se abrirá de forma predeterminada.
  2. En el campo Nombre de la rama de producción de Git, ingrese el nombre de la rama de Git que desea usar como rama de producción para su proyecto de Looker.
  3. Desplázate hacia abajo y haz clic en el botón Guardar configuración del proyecto 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 de Importa archivos de otros proyectos para obtener más detalles.

Administración de ramas

En la pestaña Branch Management de la página Projects Settings, puedes ver todas las ramas de Git asociadas con el proyecto. Consulta la página de documentación Usa 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 fuente de LookML, como se describe en la página de documentación Usa el control de versión y la implementación.

Si eres administrador de Looker, puedes configurar opciones adicionales para la integración de Looker en Git mediante las opciones de Git Integration que se encuentran en la pestaña Configuration de la página Project Settings:

  • Desactivado: Looker no mostrará ningún vínculo externo a la interfaz de su proveedor de Git.
  • Show Links (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 a fin de que sus desarrolladores puedan ver el historial del archivo y la información de la culpa de Git en la interfaz de su proveedor de Git. Consulta la sección Cómo integrar vínculos externos a tu proveedor de Git para obtener información sobre los vínculos.
  • Solicitudes de extracción recomendadas: 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 Integra solicitudes de extracción para tu proyecto a fin de obtener información para configurar esto.
  • Solicitudes de extracción requeridas: Es lo mismo que se muestra arriba, excepto que los desarrolladores de LookML deben abrir una solicitud de extracción para enviar cambios al proyecto. Consulta la sección Integra solicitudes de extracción para tu proyecto a fin de obtener información para configurar esto.

Para guardar la configuración de integración de Git, desplácese hacia abajo y haga clic en Guardar configuración del proyecto en la sección Implementación.

Si habilitaste alguna de las opciones adicionales de integración de Git (Mostrar vínculos, Solicitudes de extracción recomendadas o Solicitudes de extracción requeridas), Looker proporciona vínculos externos a la interfaz del 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, los desarrolladores deben tener una cuenta de tu proveedor de Git y acceso al repositorio de Git del proyecto.

En el menú de Opciones de archivo de tres puntos de cada archivo LookML, Looker proporciona vínculos al sitio de tu proveedor de Git para ver el archivo, la información de culpa de Git para el archivo y el historial de confirmaciones.

En el panel Git Actions, también puedes usar la opción View Project on <Git provider> para abrir los archivos de tu proyecto en el sitio de tu proveedor de Git.

Integra solicitudes de extracción en tu proyecto

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).

En lugar de permitir que los desarrolladores de Looker combinen su rama de desarrollo con la rama de producción de Looker, puedes configurar tu proyecto con las opciones Pull Requests Recommended o Pull Requests Required:

  • Solicitudes de extracción recomendadas: Una vez que un desarrollador confirma los cambios en su rama de desarrollo, el botón Git en el IDE de Looker le pide al desarrollador que abra una solicitud de extracción para combinar su rama de desarrollo con 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. Como alternativa, el desarrollador puede usar la opción Deploy to Production del panel Git Actions para omitir la creación de una solicitud de extracción y la implementación de los cambios en producción. La opción Implementar en producción no está disponible si el proyecto está habilitado con el modo de implementación avanzada.
  • Solicitudes de extracción requeridas: después de que un desarrollador confirma los cambios en su rama de desarrollo, el botón Git en el IDE de Looker le pide al desarrollador que abra una solicitud de extracción. El desarrollador debe abrir una solicitud de extracción para combinar su rama de desarrollo con 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 solicitud 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 las solicitudes de extracción con Looker:

  • Para abrir las solicitudes de extracción, tus desarrolladores deben tener una cuenta de tu proveedor de Git y acceso al repositorio de Git del proyecto.

  • Si la función Lista de IP permitidas está habilitada en tu instancia, para integrar las solicitudes de extracción a los proyectos 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 habilitó el modo de implementación avanzada, no es necesario configurar un webhook en la sección Cómo configurar su proyecto con solicitudes de extracción integradas, ya que este modo separa las funciones de combinación e implementación.

  • Si un desarrollador de Looker emitió una solicitud de extracción que quieres revertir, consulta la publicación Cómo revertir solicitudes de extracción desde Looker a través de GitHub publicación de Comunidad para obtener más información.

  • Las solicitudes de extracción de Git permiten usar una instancia de etapa de pruebas para Looker, por lo que puedes tener una instancia de etapa de pruebas y una de producción con las solicitudes de extracción habilitadas en la instancia de etapa de pruebas. Todo el desarrollo y la revisión del código se pueden realizar en el entorno de etapa de pruebas y, luego, el código revisado se puede implementar en la instancia de producción como desees. Para configurar esto, consulta la publicación de Comunidad sobre flujo de trabajo de Git con un repositorio en varias instancias: desarrollo, etapa de pruebas y producción.

  • Looker combina los cambios de una rama de desarrollador de Looker en la rama de producción mediante el método de combinación de confirmaciones. Cuando uses la interfaz de tu proveedor de Git, asegúrate de que tus desarrolladores no usen la combinación de squash ni la recombinación de bases. Consulta la sección Opciones de fusión en la interfaz del proveedor de Git para obtener más información.

Configura tu proyecto con solicitudes de extracción integradas

Para configurar tu proyecto de Looker con solicitudes de extracción de Git, haz lo siguiente:

  1. En el proyecto, selecciona Configuración del proyecto en el menú del ícono de la izquierda.
  2. 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 requeridas.
  3. De manera opcional, si desea configurar un webhook de implementación automático en la interfaz de su proveedor de Git, copie la información del webhook y péguela en un archivo de texto. Si tu proyecto está configurado para usar el modo de implementación avanzada, puedes omitir este paso. También puede decidir más tarde y volver a la configuración del proyecto para obtener la información del webhook.
  4. De forma opcional, puedes configurar un secreto de implementación de webhook para autenticar un webhook de implementación automático desde tu proveedor de Git o un webhook de implementación de modo avanzado. Para crear un secreto de webhook, haz clic en Configurar 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 decidir 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 de webhook para obtener más información.
  5. 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 Abrir solicitud de extracción. El botón abre una nueva pestaña del navegador directamente a la nueva página de solicitud de extracción en el sitio web de tu proveedor de Git.

Una vez que hayas configurado tu proyecto de Looker para usar solicitudes de extracción, realiza una de las siguientes acciones a fin de configurar la forma en que se implementan las confirmaciones en tu entorno de producción:

  • A fin de implementar automáticamente las confirmaciones más recientes que se combinan en su rama de producción, use la interfaz de su proveedor de Git para agregar un webhook, como se describe en la siguiente sección de esta página.
  • Para especificar de forma manual qué ramas o confirmaciones se implementan, habilita el modo de implementación avanzada. Consulta la página de documentación 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 los proyectos de Looker habilitados para solicitudes de extracción, puede configurar un webhook de implementación en la interfaz del proveedor de Git. Este webhook hará que Looker implemente la confirmación más reciente de la rama de producción cada vez que fusione una solicitud de extracción en la interfaz del proveedor de Git.

En la mayoría de los casos, no querrá configurar un webhook de implementación automático si su proyecto está configurado para usar el modo de implementación avanzada. El modo de implementación avanzada le permite seleccionar la confirmación y la rama que desea 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 avanzada.

Para agregar un webhook de implementación automático en la interfaz de tu proveedor de Git, primero ve a la configuración de tu proyecto en Looker haciendo clic en el ícono de configuración en el menú de íconos del lado izquierdo del proyecto. A continuación, copia el webhook desde la sección Integración de Git.

El webhook toma la forma <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

Desde 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 de webhook para obtener más información.

Una vez que tenga la URL de webhook y el secreto de webhook de implementación, puede ingresarlos en la interfaz de su proveedor de Git. Si tu proveedor de Git es GitHub, sigue estos pasos:

  1. Navega a la configuración del repositorio de tu proyecto en el repositorio de GitHub.
  2. En la configuración de tu repositorio, haz clic en Webhooks. Haz clic en Agregar webhook para abrir la ventana Agregar webhook.
  3. En el cuadro de texto URL de carga útil, pega la información del webhook que copiaste de la sección Integración de Git en Looker.
  4. De manera opcional, puede agregar un secreto de implementación de webhook que autentique las integraciones de Git de su proyecto con su proveedor de Git. Copia el secreto de implementación de la configuración del proyecto de LookML y pégalo en el cuadro de texto Secreto en la interfaz del proveedor de Git. Consulta la página de documentación Configura el secreto de implementación de webhook para obtener más información.
  5. Seleccione la opción Solo el evento push en el campo ¿Qué eventos desea que activen este webhook?.
  6. Haz clic en Add webhook (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 son automáticos), es posible que, ocasionalmente, veas que el LookML que ves en el modo de producción de Looker no coincide con el de la rama principal de tu repositorio de Git. Esto puede ocurrir en las siguientes situaciones:

  • Cuando se habilitan las solicitudes de extracción para el repositorio
  • Cuando se edita el LookML fuera del entorno de desarrollo de Looker, por ejemplo:
    • En el repositorio de Git
    • En otra instancia de Looker, como una instancia de etapa de pruebas

Puedes sincronizar la rama de producción de Looker con la rama principal del repositorio mediante un webhook de implementación:

  1. Abra una nueva pestaña del navegador y escriba la siguiente URL, pero reemplace <instance_url> por la URL de su instancia de Looker y <project_name> por el nombre de su proyecto de LookML:

    <instance_url>/webhooks/projects/<project name>/deploy
    
  2. Después de ejecutar la URL de webhook de implementación, aparecerá una página web en blanco con 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"}
    

Se actualizó el modo de producción en Looker para reflejar la rama principal de Git remoto. Su rama de desarrollador personal y las ramas compartidas no se ven 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 los 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 mediante el método descrito en la sección anterior, Usa un webhook de implementación para extraer desde un repositorio de Git remoto:

{"error":"Uh oh! Something went wrong."}

Como alternativa, puedes hacer lo siguiente:

{"error":"Not found."}

En lugar de usar el webhook de implementación, puedes ejecutar el siguiente comando cURL en tu terminal con el secreto de 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 sincroniza una rama de producción para el proyecto ecommerce_project en la instancia de Brettcase con la rama principal del repositorio:

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 usarán 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 combinación de confirmaciones para combinar cambios de una rama de desarrollo en su rama de producción. Sin embargo, es posible que la interfaz de tu proveedor de Git muestre opciones adicionales para la fusión, como Squash and merge o Rebase and merge.

Looker no admite la fusión de squash ni la combinación de bases, por lo que sus desarrolladores deben evitar el uso de estas opciones. Si es posible, la práctica recomendada es inhabilitar estas opciones para el repositorio. Para inhabilitar estas opciones en un repositorio de GitHub, sigue estos pasos:

  1. Ve a la pestaña Configuración para acceder a la configuración del repositorio de tu proyecto en GitHub.

    SUGERENCIA: Puedes usar la opción Ver proyecto en Git del menú de Git del proyecto en Looker para configurarlos con la integración de Git.

  2. En la configuración de tu repositorio, haz clic en Options en el menú de navegación de la izquierda.

  3. Desplázate hacia abajo hasta la sección Botón de combinación y deja marcada solo la opción Permitir combinación de combinación. Desmarca las opciones Permitir combinación de squash y Permitir combinación de rebase.

Una vez que hayas desmarcado estas opciones, no estarán disponibles cuando alguien fusione una rama en el repositorio.