Maison  >  Article  >  développement back-end  >  Comment authentifier un module Go privé dans Google App Engine Standard avec Go 1.11 ?

Comment authentifier un module Go privé dans Google App Engine Standard avec Go 1.11 ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 11:38:30468parcourir

How to Authenticate a Private Go Module in Google App Engine Standard with Go 1.11?

Authentification d'un module Go privé sur Google App Engine Standard à l'aide de Go 1.11

Lors de la migration de projets Go App Engine Standard vers les modules Go 1.11 , les développeurs peuvent rencontrer des problèmes d'authentification avec les modules privés. Voici comment résoudre l'erreur « 403 Forbidden » qui se produit lors du déploiement de l'application gcloud :

Problème

Le déploiement d'un projet qui repose sur un module privé hébergé sur Bitbucket échoue en raison au manque d'authentification pour le référentiel privé.

Solution

Au lieu de configurer les informations d'identification pour accéder aux référentiels privés directement dans Google Cloud Build, envisagez d'utiliser la fonctionnalité de remplacement de module de Go. Cela redirige GAE pour qu'il utilise le code local au lieu de la version distante.

Structure des répertoires

Organisez vos fichiers de projet comme suit :

myService/
    src/
        service.go
        go.mod
    build/
        gae/
            src/        // simlink to ../../src
            modules/    // git ignored, contains cloned modules.
            app.go
            go.mod
            app.yaml

Méthode :

  1. Utilisez le remplacement du module git dans le build/gae/go.mod pour rediriger GAE afin d'utiliser le code local :
replace bitbucket.org/me/myService => ./src
replace bitbucket.org/me/myModule => ./modules/utils
  1. Créez un script de build qui analyse myService/src/go.mod pour identifier la version correcte du module privé et clonez-le dans le dossier build/gae/modules.

Avantages

  • Le package de modules privés reste indépendant de GAE, ce qui lui permet d'être construit pour d'autres environnements (par exemple, Docker).
  • Simplifie la gestion des dépendances en s'appuyant sur le système de modules de Go .

Inconvénients

  • Des complexités peuvent survenir si les modules privés ont des dépendances sur d'autres modules privés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn