Configurer les paramètres de contrôle des versions du projet

Cette page explique comment configurer les éléments de votre projet pour les intégrer à Git à des fins de contrôle des versions.

Paramètres du projet

Pour afficher les paramètres de votre projet, ouvrez-le, puis sélectionnez l'icône Settings (Paramètres) dans le menu des icônes de l'IDE Looker.

Vous pouvez alors accéder à trois onglets Project Settings (Paramètres du projet) :

Configuration

L'onglet Configuration de la page Paramètres des projets ouvre la page Configuration du projet. Sur la page Project Configuration (Configuration du projet), vous pouvez configurer les paramètres suivants:

  • Nom: nom de votre projet. Pour renommer votre projet, modifiez le texte, puis cliquez sur le bouton Enregistrer la configuration du projet. Pour en savoir plus, consultez la page de documentation Accéder et modifier les informations sur un projet.
  • Nom de la branche de production Git: spécifiez le nom de la branche Git à utiliser comme cible de fusion pour les branches de développement de votre projet. La branche Git doit exister dans votre dépôt Git. Pour en savoir plus, consultez la section Nom de la branche de production Git de cette page.

  • Qualité du code: indique si les développeurs doivent exécuter avec succès le validateur LookML sur le projet avant d'y apporter des modifications. Qualité du code propose les options suivantes:

    • Exiger la résolution des erreurs et des avertissements avant la validation: les développeurs Looker ne peuvent valider les modifications qu'après avoir exécuté le validateur LookML et résolu toutes les erreurs et avertissements. Il s'agit de la configuration recommandée.
    • Exiger la correction des erreurs uniquement avant la validation: les développeurs Looker ne peuvent valider les modifications qu'après avoir exécuté le validateur LookML et résolu toutes les erreurs. Les développeurs peuvent valider les modifications en présence d'avertissements. Bien qu'elle ne soit pas recommandée, cette option peut être utile, par exemple, si de nouvelles avertissements sont introduits dans le LookML opérationnel après une mise à jour de Looker.
    • Autoriser le commit de code défectueux: les développeurs Looker peuvent valider les modifications sans exécuter le validateur LookML, que des erreurs ou des avertissements soient présents dans le code LookML. Cette option n'est pas recommandée, car elle peut entraîner un LookML qui ne fonctionne pas ou qui produit des résultats erronés.

  • Exigez la réussite des tests de données avant de déployer ce projet en production: si le projet LookML comporte un ou plusieurs paramètres test, cette option oblige les développeurs à exécuter les tests de données avant de déployer des modifications. Si les tests de données sont concluants, l'IDE permet au développeur de déployer les modifications en production. Consultez la page de documentation du paramètre test pour savoir comment configurer des tests de données dans votre projet LookML. Pour en savoir plus sur l'exécution de tests de données sur votre projet, consultez la page de documentation Utiliser le contrôle des versions et le déploiement. Par défaut, l'option Exiger la réussite des tests de données avant de déployer ce projet en production est activée pour les nouveaux projets LookML.

  • Intégration Git: spécifie les niveaux d'intégration avec votre fournisseur Git. Pour en savoir plus, consultez la section Options d'intégration Git.

  • Activer le mode Déploiement avancé: lorsque ce paramètre est activé, les utilisateurs peuvent déployer n'importe quel SHA, balise ou branche en production. Pour en savoir plus sur l'utilisation du contrôle des versions avec le mode de déploiement avancé activé, consultez la page de documentation sur le mode de déploiement avancé.

  • Secret de déploiement du webhook: configure l'authentification pour le déploiement des modifications en production sur votre instance Looker. Pour en savoir plus, consultez la page de documentation Configurer le secret de déploiement du webhook.

  • Réinitialiser la connexion Git: ce bouton ouvre la fenêtre Configurer Git, dans laquelle vous pouvez mettre à jour les paramètres de connexion de votre dépôt Git.

    Réinitialiser votre connexion Git permet de conserver l'historique Git pour la branche principale. Il conserve également l'historique de la branche personnelle de chaque développeur Looker une fois qu'il a synchronisé son mode développement. Pour préserver l'historique de toutes les branches, consultez la page des bonnes pratiques sur la migration vers un nouveau dépôt Git.

  • Supprimer le projet: ce bouton supprime le projet, en supprimant tout le code LookML du projet dans tous les environnements de développement et de production de votre instance Looker.

  • Récapitulatif Git: cette section affiche la configuration Git du projet et les informations sur la branche Git de l'utilisateur actuel.

Nom de la branche de production Git

Avec l'intégration Git Looker par défaut, tous les développeurs Looker fusionnent leurs modifications dans une branche principale appelée master. Vous pouvez utiliser le champ Nom de la branche de production Git pour spécifier la branche de votre dépôt Git que Looker doit utiliser comme branche cible dans laquelle les branches de vos développeurs Looker sont fusionnées. (Consultez la page de documentation Utiliser le contrôle des versions et le déploiement pour connaître le workflow Git par défaut et d'autres options pour les implémentations Git avancées.)

Pour les projets existants, envisagez de procéder comme suit avant de modifier le nom de la branche de production Git:

  • Demandez à tous les développeurs du projet Looker de valider leurs modifications et de fusionner leurs branches avec la branche de production existante, puis de suspendre leur travail jusqu'à ce que le nom de la branche de production Git soit mis à jour et enregistré dans la configuration du projet Looker.
  • Si votre projet utilise des demandes d'extraction intégrées, finalisez et fusionnez les demandes d'extraction ouvertes, le cas échéant.
  • Effectuez les préparations nécessaires du côté du fournisseur Git, par exemple en créant une branche dans votre dépôt, en renommant la branche Git par défaut existante ou en effectuant toutes les actions nécessaires pour préparer la branche afin que Looker puisse l'utiliser comme branche cible pour la fusion. Vous devez au moins vérifier que la branche que vous souhaitez utiliser existe dans votre dépôt Git.

Pour modifier la branche Git que votre projet utilise comme cible de fusion pour les branches de développement:

  1. Sélectionnez l'icône Settings (Paramètres) dans le menu des icônes de l'IDE Looker pour afficher les paramètres du projet. L'onglet Configuration s'ouvre par défaut.
  2. Dans le champ Git Production Branch Name (Nom de la branche de production Git), saisissez le nom de la branche Git que vous souhaitez utiliser comme branche de production pour votre projet Looker.
  3. Cliquez sur le bouton Enregistrer la configuration du projet pour enregistrer votre modification.

Importer des identifiants

La section Importer des identifiants vous permet de gérer les identifiants d'authentification pour les dépôts distants privés. Pour en savoir plus, consultez la page de documentation Importer des fichiers à partir d'autres projets .

Gestion des branches

Dans l'onglet Gestion des branches de la page Paramètres des projets, vous pouvez voir toutes les branches Git associées au projet. Pour en savoir plus, consultez la page de documentation Utiliser le contrôle des versions et le déploiement.

Options d'intégration Git

Une fois que vous avez configuré votre connexion Git, Looker utilise votre fournisseur Git pour gérer vos fichiers sources LookML, comme décrit sur la page de documentation Utiliser le contrôle des versions et le déploiement.

Si vous êtes administrateur Looker, vous pouvez configurer des options supplémentaires pour l'intégration de Looker à Git à l'aide des options Intégration Git dans l'onglet Configuration du panneau des paramètres du projet:

  • Désactivé: Looker n'affiche aucun lien externe vers l'interface de votre fournisseur Git.
  • Afficher les liens: Looker fournit des liens externes vers l'interface de votre fournisseur Git afin que vos développeurs puissent afficher le projet dans l'interface de votre fournisseur Git. Looker fournit également des liens pour chaque fichier de projet afin que vos développeurs puissent consulter l'historique du fichier et les informations de Git blame dans l'interface de votre fournisseur Git. Pour en savoir plus sur les liens, consultez la section Intégrer des liens externes à votre fournisseur Git.
  • Demandes d'extraction recommandées: en plus de fournir des liens externes vers l'interface de votre fournisseur Git, Looker permet aux développeurs d'envoyer une demande d'extraction afin qu'un autre développeur puisse approuver les modifications avant de les ajouter au projet. Pour savoir comment configurer cette fonctionnalité, consultez la section Intégrer des requêtes pull pour votre projet.
  • Pull requests obligatoires: il s'agit de la même option que Pull requests recommandés, sauf que vos développeurs LookML doivent ouvrir une pull request pour envoyer des modifications au projet. Pour savoir comment configurer cette fonctionnalité, consultez la section Intégrer des requêtes pull pour votre projet.

Pour enregistrer vos paramètres d'intégration Git, cliquez sur Enregistrer la configuration du projet dans la section Déploiement.

Si vous avez activé l'une des options d'intégration Git supplémentaires (Afficher les liens, Recommandation d'utiliser des requêtes pull ou Requêtes pull obligatoires), Looker fournit des liens externes vers l'interface de votre fournisseur Git. Ces liens externes ouvrent un nouvel onglet de navigateur vers le site de votre fournisseur Git.

Pour afficher ces liens externes, vos développeurs doivent disposer d'un compte auprès de votre fournisseur Git et avoir accès au dépôt Git du projet.

Dans le menu Options de fichier à trois points de chacun de vos fichiers LookML, Looker fournit des liens vers le site de votre fournisseur Git pour afficher le fichier, les informations de blâme Git pour le fichier et l'historique des commits pour le fichier.

Dans le panneau Actions Git, vous pouvez également utiliser l'option Afficher le projet sur <Git provider> pour ouvrir les fichiers de votre projet sur le site de votre fournisseur Git.

Intégrer des requêtes pull pour votre projet

Avec l'intégration Git Looker par défaut, les développeurs Looker valident leurs modifications dans leur branche de développement, puis fusionnent leur branche de développement dans la branche de production. Ensuite, lorsque vous déployez dans l'environnement Looker, Looker utilise le dernier commit de la branche de production. (Consultez la page de documentation Utiliser le contrôle des versions et le déploiement pour connaître le workflow Git par défaut et d'autres options pour les implémentations Git avancées.)

Au lieu d'autoriser les développeurs Looker à fusionner leur branche de développement dans la branche de production Looker, vous pouvez configurer votre projet avec l'option Pull requests recommended (Recommandation d'utiliser des requêtes pull) ou Pull requests required (Requêtes pull obligatoires) :

  • Demandes d'extraction recommandées: lorsqu'un développeur valide des modifications dans sa branche de développement, le bouton Git de l'IDE Looker l'invite à ouvrir une demande d'extraction pour fusionner sa branche de développement dans la branche de production. Le développeur peut ensuite ouvrir une demande d'extraction pour que d'autres développeurs Looker l'examinent et l'approuvent depuis l'interface Web du fournisseur Git. Le développeur peut également utiliser l'option Deploy to Production (Déployer en production) du panel Git Actions (Panneau "Actions Git") pour ignorer la création d'une requête d'extraction et déployer ses modifications en production. (L'option Déployer en production n'est pas disponible si le projet est activé avec le mode de déploiement avancé.)
  • Demandes d'extraction requises: lorsqu'un développeur valide des modifications dans sa branche de développement, le bouton Git de l'IDE Looker l'invite à ouvrir une demande d'extraction. Le développeur doit ouvrir une demande d'extraction pour fusionner sa branche de développement dans la branche de production. D'autres développeurs Looker peuvent ensuite examiner et approuver la demande d'extraction depuis l'interface Web du fournisseur Git.

Looker est compatible avec l'intégration des demandes d'extraction pour les fournisseurs Git suivants:

  • GitHub
  • GitLab
  • Bitbucket Cloud
  • Bitbucket Server (anciennement "Stash")

Voici quelques remarques supplémentaires sur l'utilisation des requêtes pull avec Looker:

  • Pour pouvoir ouvrir des demandes d'extraction, vos développeurs doivent disposer d'un compte auprès de votre fournisseur Git et avoir accès au dépôt Git du projet.

  • Si la fonctionnalité Liste d'autorisation d'adresses IP est activée sur votre instance, vous devez ajouter à la liste d'autorisation la plage d'adresses IP à partir desquelles votre fournisseur Git envoie des requêtes sortantes pour intégrer les requêtes pull à des projets LookML. Par exemple, les adresses IP GitHub actuelles sont listées dans le journal des modifications GitHub. Les adresses IP sont susceptibles d'être modifiées et seront différentes pour les autres fournisseurs Git.

  • Si vous avez activé le mode de déploiement avancé, il n'est pas nécessaire de configurer un webhook dans la section Configurer votre projet avec des requêtes pull intégrées, car le mode de déploiement avancé sépare les fonctions de fusion et de déploiement.

  • Si un développeur Looker a envoyé une demande d'extraction que vous souhaitez annuler, consultez le post de la communauté How to revert pull requests from Looker via GitHub (Comment annuler les demandes d'extraction de Looker via GitHub) pour en savoir plus.

  • Les requêtes d'extraction Git peuvent vous permettre d'utiliser une instance de préproduction pour Looker. Vous pouvez ainsi disposer d'une instance de préproduction et d'une instance de production, avec les requêtes d'extraction activées sur l'instance de préproduction. Tout le développement et l'examen du code peuvent être effectués dans l'environnement de préproduction, et le code examiné peut ensuite être déployé dans l'instance de production. Pour configurer cela, consultez le post de la communauté Workflow Git utilisant un dépôt sur plusieurs instances : développement, préproduction et production.

  • Looker fusionne les modifications d'une branche de développement Looker dans la branche de production à l'aide de la méthode de fusion merge commit. Lorsque vous utilisez l'interface de votre fournisseur Git, assurez-vous que vos développeurs n'utilisent pas la fusion par écrasement ni la fusion avec rebasage. Pour en savoir plus, consultez la section Options de fusion dans l'interface du fournisseur Git.

Configurer votre projet avec des requêtes pull intégrées

Pour configurer votre projet Looker avec des demandes d'extraction Git:

  1. Dans votre projet, sélectionnez Settings (Paramètres) dans le menu de l'icône de l'IDE Looker.
  2. Dans la section Intégration Git de l'onglet Configuration, sélectionnez Pull requests recommandées ou Pull requests obligatoires.
  3. Si vous souhaitez configurer un webhook de déploiement automatique dans l'interface de votre fournisseur Git, vous pouvez copier les informations du webhook et les coller dans un fichier texte. Si votre projet est configuré pour utiliser le mode de déploiement avancé, vous pouvez ignorer cette étape. Vous pouvez également prendre cette décision plus tard et revenir aux paramètres du projet pour obtenir les informations sur le webhook.
  4. Vous pouvez éventuellement configurer un secret de déploiement de webhook pour authentifier un webhook de déploiement automatique à partir de votre fournisseur Git ou d'un webhook de mode de déploiement avancé. Pour créer un secret de webhook, cliquez sur Définir un secret de webhook. Copiez le secret de déploiement et collez-le dans un fichier texte à utiliser lorsque vous ajouterez le webhook à l'interface de votre fournisseur Git. Vous pouvez également prendre cette décision plus tard et revenir aux paramètres du projet pour ajouter un secret de déploiement. Pour en savoir plus, consultez la page de documentation Configurer le secret de déploiement du webhook.
  5. Cliquez sur Enregistrer la configuration du projet.

Désormais, chaque fois qu'un développeur Looker valide des modifications dans votre projet, l'IDE Looker affiche le bouton Ouvrir une requête pull. Le bouton ouvre un nouvel onglet du navigateur et redirige directement vers la page de la nouvelle demande de tirage sur le site Web de votre fournisseur Git.

Une fois que vous avez configuré votre projet Looker pour utiliser les requêtes pull, effectuez l'une des opérations suivantes pour configurer le déploiement des commits dans votre environnement de production:

  • Pour déployer automatiquement les derniers commits fusionnés dans votre branche de production, utilisez l'interface de votre fournisseur Git pour ajouter un webhook, comme décrit dans la section suivante de cette page.
  • Pour spécifier manuellement les branches ou les commits à déployer, activez le mode de déploiement avancé. Pour savoir comment activer et gérer le mode Déploiement avancé, consultez la page de documentation Mode Déploiement avancé.

Ajouter un webhook à votre fournisseur Git

Pour les projets Looker pour lesquels les requêtes d'extraction sont activées, vous pouvez configurer un webhook de déploiement dans l'interface de votre fournisseur Git. Ce webhook déclenchera le déploiement du dernier commit de la branche de production par Looker chaque fois que vous fusionnerez une demande d'extraction dans l'interface du fournisseur Git.

Dans la plupart des cas, vous ne devez pas configurer de webhook de déploiement automatique si votre projet est configuré pour utiliser le mode de déploiement avancé. Le mode de déploiement avancé vous permet de sélectionner le commit et la branche que vous souhaitez déployer. Dans la plupart des cas, configurer un webhook de déploiement automatique annulerait les fonctionnalités du mode de déploiement avancé.

Pour ajouter un webhook de déploiement automatique dans l'interface de votre fournisseur Git, accédez d'abord aux paramètres de votre projet dans Looker en cliquant sur l'icône Settings (Paramètres) dans le menu des icônes de l'IDE Looker. Copiez ensuite le webhook dans la section Intégration Git.

Le webhook se présente sous la forme <instance_url>/webhooks/projects/<project_name>/deploy.

Remplacez <instance_url> par l'URL de votre instance Looker. Par exemple, si l'URL de votre instance Looker est example.looker.com et que le nom de votre projet est e_faa, le webhook se présente comme suit:

https://example.looker.com/webhooks/projects/e_faa/deploy

Dans les paramètres du projet Looker, vous pouvez également obtenir un secret de déploiement de webhook pour authentifier les intégrations Git de votre projet avec votre fournisseur Git. Pour en savoir plus, consultez la page de documentation Configurer le secret de déploiement du webhook.

Une fois que vous avez l'URL du webhook et le secret du webhook de déploiement, vous pouvez les saisir dans l'interface de votre fournisseur Git. Si votre fournisseur Git est GitHub, procédez comme suit:

  1. Accédez aux paramètres du dépôt de votre projet dans votre dépôt GitHub.
  2. Dans les paramètres de votre dépôt, cliquez sur Webhooks. Cliquez sur Add Webhook (Ajouter un Webhook) pour ouvrir la fenêtre Add Webhook (Ajouter un Webhook).
  3. Dans le champ URL de la charge utile, collez les informations du webhook que vous avez copiées dans la section Intégration Git de Looker.
  4. Vous pouvez éventuellement ajouter un secret de déploiement de webhook qui authentifie les intégrations Git de votre projet avec votre fournisseur Git. Copiez le secret de déploiement dans les paramètres de votre projet LookML, puis collez-le dans le champ Secret (Secret) de l'interface du fournisseur Git. Pour en savoir plus, consultez la page de documentation Configurer le secret de déploiement du webhook.
  5. Sélectionnez l'option Just the push event (Uniquement l'événement push) dans le champ Which events would you like to trigger this webhook? (Quels événements souhaitez-vous déclencher avec ce webhook ?).
  6. Cliquez sur Add webhook (Ajouter un Webhook).

Utiliser un webhook de déploiement pour extraire des données à partir d'un dépôt Git distant

Lorsque les requêtes pull sont activées pour votre projet LookML et que les webhooks de déploiement ne sont pas automatisés, il est possible que le code LookML que vous voyez dans le mode production de Looker ne corresponde pas à celui de la branche principale de votre dépôt Git. Cela peut se produire dans les situations suivantes:

  • Lorsque les demandes d'extraction sont activées pour le dépôt
  • Lorsque le code LookML a été modifié en dehors de l'environnement de développement Looker, par exemple :
    • Dans le dépôt Git lui-même
    • Sur une autre instance Looker, telle qu'une instance de préproduction

Vous pouvez synchroniser la branche de production Looker avec la branche principale du dépôt à l'aide d'un webhook de déploiement:

  1. Ouvrez un nouvel onglet de navigateur et saisissez l'URL suivante, en remplaçant <instance_url> par l'URL de votre instance Looker et <project_name> par le nom de votre projet LookML:

    <instance_url>/webhooks/projects/<project name>/deploy
    
  2. Une fois que vous avez exécuté l'URL du webhook de déploiement, une page Web vierge affiche un message de confirmation semblable à celui-ci:

    {"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"}
    

Votre mode de production dans Looker a été mis à jour pour refléter votre branche principale Git distante. Votre branche de développement personnelle et vos branches partagées ne sont pas affectées.

Extraire des webhooks à partir d'un dépôt Git distant avec des secrets de déploiement

Si votre projet LookML nécessite également un secret de déploiement de webhook pour envoyer les modifications de votre branche principale vers votre branche de production, vous recevrez l'une des erreurs suivantes lorsque vous synchroniserez la branche de production avec la branche principale du dépôt à l'aide de la méthode décrite dans la section précédente, Utiliser un webhook de déploiement pour extraire des données à partir d'un dépôt Git distant:

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

ou

{"error":"Not found."}

Au lieu d'utiliser le webhook de déploiement, vous pouvez exécuter la commande cURL suivante dans votre terminal avec le secret du webhook. Veillez à remplacer les champs suivants:

  • Remplacez <instance_URL> par l'URL de votre instance Looker.
  • Remplacez <deploy_secret> par le secret de déploiement de votre projet.
  • Remplacez <project_name> par le nom de votre projet LookML.
curl -i -X POST -H "X-Looker-Deploy-Secret:<deploy_secret>" https://<instance_url>/webhooks/projects/<project_name>/deploy

Par exemple, si vous synchronisez une branche de production pour le projet ecommerce_project sur l'instance Brettcase avec la branche principale du dépôt:

curl -i -X POST -H "X-Looker-Deploy-Secret:123123123secretgoeshere123123123" https://brettcase.looker.com/webhooks/projects/ecommerce_project/deploy

Options de fusion dans l'interface du fournisseur Git

Si votre projet Looker est intégré aux demandes d'extraction, vos développeurs utilisent l'interface de votre fournisseur Git pour envoyer des demandes d'extraction et fusionner les modifications dans la branche de production.

Looker prend en charge la méthode de fusion de commits pour fusionner les modifications d'une branche de développement dans votre branche de production. Toutefois, l'interface de votre fournisseur Git peut afficher des options de fusion supplémentaires, telles que Squash and merge (Réunir et fusionner) ou Rebase and merge (Réorganiser et fusionner).

Looker n'est pas compatible avec la fusion par écrasement ni avec la fusion avec rebasage. Vos développeurs doivent donc éviter d'utiliser ces options. Si possible, il est recommandé de désactiver ces options pour votre dépôt. Pour désactiver ces options dans un dépôt GitHub, procédez comme suit:

  1. Accédez à l'onglet Settings (Paramètres) pour accéder aux paramètres du dépôt de votre projet sur GitHub.

    ASTUCE: Pour les projets configurés avec l'intégration Git, vous pouvez utiliser l'option Afficher le projet sur Git dans le menu Git du projet dans Looker.

  2. Dans les paramètres de votre dépôt, cliquez sur Options dans le menu de navigation.

  3. Accédez à la section Bouton de fusion et ne laissez cochée que l'option Autoriser les commits de fusion. Désactivez les options Allow squash merging (Autoriser la fusion de type "squash") et Allow rebase merging (Autoriser la fusion de type "rebase").

Une fois les options de fusion désactivées, elles ne seront plus disponibles dans GitHub lorsque vos développeurs fusionneront une branche dans le dépôt.