Mode de déploiement avancé

Avec l'intégration Git par défaut de Looker, les développeurs Looker valident leurs modifications dans leur branche de développement, puis fusionnent leur branche de développement avec la branche de production. Ensuite, lorsque vous effectuez le déploiement dans l'environnement Looker, Looker utilise le dernier commit sur 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 les autres options d'implémentations Git avancées.

Pour les implémentations Git avancées où vous ne souhaitez pas que le dernier commit de votre branche de production soit utilisé pour votre environnement Looker, un administrateur Looker peut activer le mode de déploiement avancé. Lorsqu'il est activé, le mode de déploiement avancé permet à un développeur disposant de l'autorisation deploy de spécifier un autre certificat SHA ou un tag à déployer dans votre environnement de production Looker, au lieu d'utiliser le dernier commit sur la branche de production. Si vous souhaitez déployer un commit à partir d'une autre branche, vous pouvez utiliser le webhook ou le point de terminaison de l'API en mode de déploiement avancé.

Le mode de déploiement avancé permet de consolider les dépôts dans des workflows de développement multi-environnements, où chaque environnement pointe vers une version différente d'un codebase. Elle permet également à un ou plusieurs développeurs ou administrateurs de mieux contrôler les modifications déployées en production.

Lorsque le mode de déploiement avancé est activé, Looker n'invite pas les développeurs à déployer leurs modifications en production. À la place, Looker invite les développeurs à fusionner leurs modifications dans la branche de production. À partir de là, les modifications ne peuvent être déployées que des manières suivantes:

Activer le mode de déploiement avancé

Pour activer le mode de déploiement avancé:

  1. Accédez à l'onglet Configuration de la page Paramètres du projet en sélectionnant l'icône Paramètres dans le menu des icônes.
  2. Cochez la case Activer le mode de déploiement avancé dans la section Déploiement.
  3. Sélectionnez le bouton Save Project Configuration (Enregistrer la configuration du projet) pour enregistrer vos modifications.

Contrôle des versions avec le mode de déploiement avancé

Lorsque le mode de déploiement avancé est activé, le déploiement en production depuis Looker n'est plus une option pour les développeurs. À la place, lorsque le développeur effectue un commit, le bouton Git l'invite à fusionner ses modifications avec la branche principale au lieu de l'inviter à les déployer en production.

Les modifications sont déployées en production à l'aide d'un webhook, de l'API ou de Deployment Manager.

Deployment Manager

Pour les projets pour lesquels le mode de déploiement avancé est activé, les développeurs Looker disposant de l'autorisation deploy peuvent utiliser Deployment Manager pour déployer un commit ou un tag dans leur environnement de production Looker.

Pour accéder à Deployment Manager, sélectionnez l'icône Deploy (Déployer) dans le menu des icônes.

Deployment Manager affiche l'ensemble des commits et des tags déjà déployés en mode de déploiement avancé.

Si vous n'avez pas encore utilisé le mode de déploiement avancé pour déployer un commit, cliquez sur le bouton Sélectionner un commit pour afficher l'historique des commits que vos développeurs Looker ont fusionnés avec la branche de production.

Pour les projets qui ont utilisé le mode de déploiement avancé pour déployer un commit, l'historique des commits affiche également les tags associés à un commit, le cas échéant, et indique quel commit est la version actuelle utilisée pour la production.

Si la branche de production a des commits plus récents que le commit déployé, le gestionnaire de déploiement affiche ces informations et indique le commit le plus récent que vos développeurs Looker ont fusionné avec la branche de production.

Déployer un commit à partir de Deployment Manager

Il existe plusieurs façons de déployer un commit à partir de Deployment Manager:

  1. Pour déployer un commit qui n'a pas encore été déployé, cliquez sur le bouton Select Commit (Sélectionner un commit) pour faire votre choix parmi tous les commits fusionnés avec la branche de production distante. (Si vous souhaitez déployer un commit à partir d'une autre branche, utilisez le webhook ou le point de terminaison de l'API en mode de déploiement avancé.)
  2. Pour déployer le dernier commit fusionné sur la branche de production distante, cliquez sur le bouton Déployer le plus récent.
  3. Pour déployer un commit ou un tag précédemment déployé, cliquez sur son menu Options dans le gestionnaire de déploiement, puis sur Deploy to Production (Déployer en production).

Si vous choisissez un commit qui n'a pas été déployé précédemment, Deployment Manager affiche le menu Deploy Commit (Déployer le commit). Pour déployer un commit à partir du menu Déployer le commit, procédez comme suit:

  1. Pour déployer le commit sans lui attribuer de tag, sélectionnez Déployer sans tag, puis Déployer dans l'environnement. Sinon, laissez l'option Tag and deploy (Taguer et déployer) sélectionnée.
  2. Spécifiez un tag pour le commit. Un tag Git indique la signification du commit dans l'historique du dépôt (par exemple, un numéro de version ou un nom de version). Notez les points suivants à propos des tags Git:

    • Les tags Git doivent être uniques dans le dépôt Git. Vous ne pouvez pas utiliser le même tag pour deux commits différents dans votre dépôt.
    • Les tags Git ne peuvent pas contenir d'espaces ni certains caractères spéciaux. Consultez la documentation de référence Git pour connaître les règles de dénomination des références dans Git.
  3. Si vous le souhaitez, vous pouvez ajouter une description du tag pour fournir plus de détails sur le commit.

  4. Sélectionnez Déployer dans l'environnement pour déployer le commit dans la version de production de votre instance Looker.

Une fois que vous avez déployé un commit, le gestionnaire de déploiement le marque comme version actuelle dans votre environnement de production Looker.

Déployer avec des webhooks

Pour les projets en mode de déploiement avancé, vous pouvez utiliser le webhook de déploiement pour déployer les modifications en production.

Pour configurer le webhook de déploiement, vous devez d'abord ajouter un secret de webhook pour votre projet Looker depuis la page Paramètres du projet. Cela permet de s'assurer que seules les parties autorisées peuvent déclencher le webhook de déploiement.

Deux webhooks sont disponibles pour déployer les modifications en production avec le mode de déploiement avancé activé. Un webhook sert à déployer l'en-tête d'une branche, et l'autre sert à déployer un SHA ou un tag Git spécifique.

Le webhook permettant de déployer l'en-tête d'une branche utilise le format suivant:

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

Le webhook permettant de déployer un SHA ou un tag de commit utilise le format suivant:

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

Remplacez les informations entre les chevrons < > par les informations spécifiques à l'adresse de votre instance, au projet LookML, au nom de la branche ou au SHA/au commit de la balise. Voici un exemple de webhook permettant de déployer le nom du tag v1.0 pour le projet e_faa sur l'instance Looker docsexamples.dev.looker.com:

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

Déployer avec l'API

Pour les projets en mode de déploiement avancé, vous pouvez utiliser l'API Looker pour déployer les modifications en production.

Pour effectuer un déploiement avec l'API, l'utilisateur de l'API effectuant l'appel doit disposer de l'autorisation deploy. Pour en savoir plus sur l'authentification et l'utilisation de l'API Looker, consultez les pages de documentation Authentification dans l'API Looker et Premiers pas avec l'API.

Pour déployer avec l'API, utilisez le point de terminaison deploy_ref_to_production. Ce point de terminaison peut être appelé de différentes manières. Les exemples suivants concernent les méthodes HTTPS et SDK.

HTTPS

Pour effectuer un déploiement manuel à l'aide du point de terminaison de l'API deploy_ref_to_production, consultez les exemples suivants, qui utilisent la méthode HTTPS. Pour obtenir plus d'informations et des exemples d'appel manuel à l'API à l'aide de requêtes CURL, consultez le fichier README de GitHub Comment s'authentifier auprès de l'API ou utilisez l'explorateur d'API. Vous pouvez installer API Explorer sur votre instance Looker depuis Looker Marketplace.

Utilisez les exemples suivants dans une requête HTTPS pour déployer l'en-tête d'une branche, ou un SHA ou un tag de commit spécifique via le point de terminaison de l'API deploy_ref_to_production:

Déployez l'en-tête d'une branche : <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

Déployer un SHA de commit ou un tag : <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

Vous pouvez également utiliser l'un des SDK de Looker au lieu d'envoyer des requêtes manuelles à l'API. Les SDK gèrent les détails de l'authentification, la sérialisation des paramètres et des réponses, ainsi que d'autres aspects.

Le déploiement avec deploy_ref_to_production avec la méthode SDK se présente comme suit:

Déployez l'en-tête d'une branche : deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

Déployer un SHA de commit ou un tag : deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})