Go 1.11 の Google App Engine Standard を使用したプライベート Go モジュールの認証
Go で Go モジュールを使用するために既存の App Engine Standard プロジェクトを更新する場合1.11 では、プライベート リポジトリで認証しようとするとエラーが発生する場合があります。これに対処するために、問題を詳しく調べて解決策を提供します。
問題
gcloud appdeploy でプロジェクトをデプロイしようとすると、ビルドが失敗しますプライベート リポジトリへのアクセスが禁止されていることを示すエラーが発生しました。これは、Google Cloud Build システムがデフォルトではプライベート リポジトリにアクセスできないためです。
ソリューション
複雑な認証情報管理を扱う代わりに、Go のGAE がローカル コードを使用するように指示するモジュール置換機能。手順の概要は次のとおりです。
提供された例と同様のディレクトリ構造を作成し、サービス コードを分離します。 GAE 固有のコードから。
必要な依存関係と必要な依存関係を指定して、GAE ディレクトリに go.mod ファイルを作成します。 module replace を使用して、プライベート モジュールのローカル コードをポイントします。
ビルドする前に、go.mod を解析します。サービス ディレクトリからファイルを作成して、プライベート モジュールの正しいバージョンを取得します。
プライベート モジュールをモジュールにクローン作成します。 GAE ディレクトリ内のフォルダー。必要に応じて、ローカル デバッグの目的で WIP モジュールのソース コードをコピーすることもできます。
例:
GAE ディレクトリの 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
利点:
警告:
以上がGo 1.11 の Google App Engine Standard でプライベート Go モジュールを認証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。