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

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

Oct 26, 2024 am 07:52 AM

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

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

Go App Engine Standard プロジェクトを Go 1.11 モジュールに更新する場合、認証プライベート モジュールの場合は課題が生じる可能性があります。デフォルトでは、Google Cloud ビルド システムはプライベート リポジトリにアクセスできません。

エラー:

プライベート モジュールを含むプロジェクトをデプロイしようとすると、エラーが発生します次のようなメッセージが発生する可能性があります:

ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build <GUI> 
status: FAILURE.
Build error details: go: bitbucket.org/[email protected]: 
https://api.bitbucket.org/2.0/repositories/myPrivateRepo?fields=scm: 
403 Forbidden
ログイン後にコピー

Can It Be Done?

はい、Go 1.11 モジュールを使用して App Engine Standard でプライベート モジュールを認証することができます。 。ただし、GOPATH へのファイルの移動に関する移行ドキュメントのガイダンスは誤解を招くものです。確かに、新しいモジュール システムは、コードを GOPATH の外に保持するように設計されています。

解決策: Module Replace を使用する

資格情報を管理する代わりに、Go のモジュールを使用することをお勧めします。モジュール置換機能。これにより、ローカル プロジェクトはビルド中にプライベート モジュールのローカル コピーを使用できるようになります。

メソッド:

  1. ビルド ディレクトリを作成します: メイン プロジェクト ディレクトリ内にビルド ディレクトリを作成します。
  2. ソース コードをシンボリックリンクします。 プロジェクトの src ディレクトリをビルド ディレクトリ内の src ディレクトリにリンクします。
  3. プライベート モジュールのクローンまたはコピー: ビルド内のモジュール ディレクトリのサブディレクトリに必要なプライベート モジュールのクローンまたはコピーを行います。
  4. GAE 固有の go.mod ファイルを作成します: ビルド ディレクトリのルートに、replace ディレクティブを使用してプライベート モジュールを参照する新しい go.mod ファイルを作成します。例:
module myServiceGAE

require (
    bitbucket.org/me/myService v0.0.0
    google.golang.org/appengine v1.4.0
)

replace bitbucket.org/me/myService => ./src
replace bitbucket.org/me/myModule => ./modules/utils
ログイン後にコピー

長所:

  • プロジェクトと GAE の間の関心事の分離を維持
  • 非 GAE 環境用のパッケージ

短所:

  • プライベート モジュールが別のプライベート モジュールに依存する場合、複雑になる可能性があります

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Mar 03, 2025 pm 05:17 PM

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

Beegoフレームワークのページ間で短期情報転送を実装する方法は? Beegoフレームワークのページ間で短期情報転送を実装する方法は? Mar 03, 2025 pm 05:22 PM

Beegoフレームワークのページ間で短期情報転送を実装する方法は?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? Mar 10, 2025 pm 05:38 PM

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? Mar 10, 2025 pm 05:36 PM

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? Mar 10, 2025 pm 03:20 PM

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

Go言語でファイルを便利に書く方法は? Go言語でファイルを便利に書く方法は? Mar 03, 2025 pm 05:15 PM

Go言語でファイルを便利に書く方法は?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? Mar 03, 2025 pm 05:18 PM

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか? GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか? Mar 10, 2025 pm 05:36 PM

GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか?

See all articles