3

バックグラウンド

私の会社では、Bit Bucket を使用して Git リポジトリをホストしています。サーバーへのすべてのトラフィックは、カスタムの非標準ポートを通過します。リポジトリからのクローン作成は のようになりgit clone ssh://git@stash.company.com:9999/repo/path/name.gitます。

問題

このサーバーでホストされ、 によって管理される Go モジュールを作成したいのですがgo mod、トラフィックがポート9999を通過する必要があるため、これは非常に困難です。これはgo mod、標準ポートで動作し、さまざまなモジュールのポートをカスタマイズする方法を提供していないように見えるためです。

私の質問

go mod非標準ポートを持つプライベート git サーバーでホストされている Go モジュールを管理するために使用することは可能ですか?

試みられた解決策

ベンダー

これは、ソリューションの提供に最も近いようです。最初にgo mod vendorこれらの Go モジュールを使用する Go アプリケーションを作成し、次にディレクトリgit submodule内の Go モジュールを作成しますvendor/。これは、モジュールを更新または追加する必要がある時点まで完全に機能します。go mod tidyカスタムGoモジュールの「git URL」にアクセスできないため、他のGoモジュールのダウンロードまたは更新に失敗し続けます。-eフラグが設定されている場合でも。

編集.gitconfig

を編集し.gitconfigて、ポートなしの URL をポート付きの URL に置き換えることは、機能するソリューションですが、非常に汚いハックです。まず、これらの編集は、すべての新しいモジュールと個々の開発者に対して行う必要があります。第二に、これらのリポジトリで作業しているときに、これにより他の git プロセスが停止する可能性があります。

4

1 に答える 1