Mode Déploiement avancé

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 déployer pour connaître le workflow Git par défaut et d'autres options pour les 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 SHA de commit ou une autre balise à déployer dans votre environnement de production Looker, au lieu d'utiliser le dernier commit de 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 les workflows de développement multi-environnements, où chaque environnement pointe vers une version différente d'une base de code. Il 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. Looker invite plutôt les développeurs à fusionner leurs modifications dans la branche de production. Les modifications ne peuvent être déployées que de l'une des manières suivantes :

Activer le mode Déploiement avancé

Pour activer le mode Déploiement avancé :

  1. Dans l'IDE Looker, accédez à la page Configuration du projet en sélectionnant l'icône Paramètres dans le menu d'icônes, puis l'onglet Configuration.
  2. Sur la page Configuration du projet, cochez la case Activer le mode de déploiement avancé dans la section Déploiement.
  3. Sélectionnez le bouton Enregistrer la configuration du projet pour enregistrer vos modifications.

Contrôle des versions avec le mode Déploiement avancé

Lorsque le mode de déploiement avancé est activé, les développeurs ne peuvent plus déployer en production depuis Looker. Au lieu de cela, lorsque le développeur effectue un commit, le bouton Git l'invite à fusionner ses modifications dans la branche principale au lieu de les déployer en production.

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

Deployment Manager

Pour les projets dont 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 Déployer dans le menu des icônes.

Le gestionnaire de déploiement affiche tous les commits et tags qui ont été déployés précédemment à l'aide du 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 avec ceux que vos développeurs Looker ont fusionnés dans 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 affichera également les tags associés à un commit, le cas échéant, et indiquera quel commit est la version actuellement utilisée pour la production.

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

Déployer un commit à partir de Deployment Manager

Il existe plusieurs façons de déployer un commit à partir du gestionnaire de déploiement :

  1. Pour déployer un commit qui ne l'a pas encore été, cliquez sur le bouton Sélectionner un commit pour choisir parmi tous les commits qui ont été fusionnés dans la branche de production distante. (Si vous souhaitez déployer un commit à partir d'une autre branche, utilisez le mode de déploiement avancé webhook ou point de terminaison de l'API.)
  2. Pour déployer le commit fusionné le plus récemment sur la branche de production distante, cliquez sur le bouton Deploy Latest (Déployer la dernière version).
  3. Pour déployer un commit ou un tag qui a déjà été déployé, cliquez sur le menu à trois points Options  dans le gestionnaire de déploiements, puis sur Déployer en production.

Si vous choisissez un commit qui n'a pas été déployé auparavant, le gestionnaire de déploiement affiche le menu 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 taguer, puis Déployer dans l'environnement. Sinon, laissez l'option Taguer et déployer sélectionnée.
  2. Spécifiez un tag pour le commit. Un tag Git indique l'importance 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 concernant les tags Git :

    • Les tags Git doivent être uniques dans le dépôt Git. Vous ne pouvez pas utiliser la même balise 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 de Git pour connaître les règles d'attribution de noms aux références dans Git.
  3. Vous pouvez éventuellement ajouter une description à la balise 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 avec un 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 à votre projet Looker sur la page Configuration du projet. L'ajout d'un secret de webhook 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 des modifications en production lorsque le mode de déploiement avancé est activé. Un webhook permet de déployer le pointeur HEAD d'une branche, et l'autre permet de déployer un SHA Git ou une balise spécifiques.

Le webhook permettant de déployer le début d'une branche utilise ce format :

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

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

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

Remplacez les informations entre crochets < > par celles spécifiques à l'adresse de votre instance, à votre projet LookML et à votre nom de branche ou à votre tag/SHA de commit. Voici un exemple de webhook permettant de déployer le nom de 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 qui effectue 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 de l'API Looker et Premiers pas avec l'API.

Pour effectuer un déploiement 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 en savoir plus et obtenir des exemples d'appels manuels de l'API à l'aide de requêtes CURL, consultez le fichier README How to Authenticate to the API sur GitHub ou utilisez l'API Explorer. Vous pouvez installer l'explorateur d'API sur votre instance Looker depuis le Looker Marketplace.

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

Déployez la 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 manuellement des requêtes à l'API. Les SDK gèrent les détails de l'authentification, de la sérialisation des paramètres et des réponses, ainsi que d'autres aspects.

Le déploiement avec deploy_ref_to_production à l'aide de la méthode SDK se présente comme suit :

Déployez la 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>})