ホームページ  >  記事  >  バックエンド開発  >  Go 1.11 を使用して Google App Engine Standard でプライベート Go モジュールを認証するにはどうすればよいですか?

Go 1.11 を使用して Google App Engine Standard でプライベート Go モジュールを認証するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 11:38:30468ブラウズ

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

Go 1.11 を使用した Google App Engine Standard でのプライベート Go モジュールの認証

Go App Engine Standard プロジェクトを Go 1.11 のモジュールに移行する場合、開発者はプライベート モジュールで認証の問題に遭遇する可能性があります。 gcloud appdeploy 中に発生する「403 Forbidden」エラーに対処する方法は次のとおりです。

問題

Bitbucket でホストされているプラ​​イベート モジュールに依存するプロジェクトのデプロイが次の理由で失敗します。

解決策

Google Cloud Build でプライベート リポジトリに直接アクセスするための認証情報を設定する代わりに、Go のモジュール置換機能の使用を検討してください。これにより、リモート バージョンの代わりにローカル コードを使用するように GAE がリダイレクトされます。

ディレクトリ構造

プロジェクト ファイルを次のように編成します:

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

メソッド:

  1. build/gae/go.mod で git module replace を使用し、ローカル コードを使用するように GAE をリダイレクトします:
replace bitbucket.org/me/myService => ./src
replace bitbucket.org/me/myModule => ./modules/utils
  1. myService/src/go.mod を解析してプライベート モジュールの正しいバージョンを特定し、それを build/gae/modules フォルダーに複製するビルド スクリプトを作成します。

長所

  • プライベート モジュール パッケージは GAE に依存せず、他の環境 (例: docker) 用に構築できます。
  • Go のモジュール システムに依存することで依存関係の管理を簡素化します.

短所

  • プライベート モジュールが他のプライベート モジュールに依存している場合、複雑さが発生する可能性があります。

以上がGo 1.11 を使用して Google App Engine Standard でプライベート Go モジュールを認証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。