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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 01:03:27775ブラウズ

How to Authenticate a Private Go Module on Google App Engine Standard Using Go 1.11?

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

Go 1.11 では、モジュールの導入により、より効率的な方法が提供されます。依存関係の管理について。ただし、Google App Engine Standard でプライベート モジュールを使用する場合、認証の問題が発生する可能性があります。この問題は、gcloud appdeploy を試みて 403 Forbidden エラーが発生したときに明らかになります。

この問題を解決するには、ベンダーやサードパーティの依存関係管理ツール (DEP など) の使用などの従来のアプローチが採用されてきました。ただし、新しいモジュール システムでは、これらのソリューションは理想的ではない可能性があります。

モジュール置換を使用したソリューション

認証情報を扱う代わりに、実行可能なソリューションは Go のGAE にローカル コードを使用するよう指示するモジュール置換機能。このアプローチには以下が含まれます:

  1. ディレクトリ構造のセットアップ:

    次のディレクトリ構造でプロジェクトを整理します:

    myService/
    |__ src/
    |    |__ service.go
    |    |__ go.mod
    |__ build/
       |__ gae/
           |__ src/  // Symlink to ../../src
           |__ modules/  // Git ignored
           |__ app.go
           |__ go.mod
           |__ app.yaml
  2. GAE go.mod の変更:

    gae ディレクトリに go.mod ファイルを作成し、replace を使用してプライベート モジュールのローカル パスを含む依存関係を指定します。 :

    module myServiceGAE
    
    require (
        bitbucket.org/me/myService v0.0.0
        google.golang.org/appengine v1.4.0
    )
    
    replace bitbucket.org/me/myService => ./src
  3. プライベート モジュールの複製またはコピー:

    gae ディレクトリの下の module フォルダーで、プライベート モジュールを複製またはコピーします。プロジェクトをビルドします。

このアプローチにより、GAE がデプロイ中に正しいバージョンを使用できるようにしながら、プライベート モジュール コードをメイン プロジェクトから切り離すことができます。

長所:

  • プライベート モジュールを GAE から分離し、他のプラットフォームへのデプロイメントを容易にします。
  • 追加の依存関係管理ツールが不要になります。

短所:

  • 他のプライベート モジュールへの依存関係を持つプライベート モジュールを扱う場合、より複雑になります。

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

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