プライベート Go モジュールの管理とインストールが簡単

王林
リリース: 2024-08-19 22:33:32
オリジナル
244 人が閲覧しました

Easily manage and install your private Go modules

Golang 開発者にとって、パブリック リポジトリを扱う場合、Go モジュールの管理とインストールは通常簡単です。ただし、プライベート Go モジュールを操作する必要がある場合、事態はさらに複雑になります。

Go モジュール ツールチェーンには、プライベート GOPROXY を使用する以外にプライベート モジュールを操作するための組み込みメカニズムが提供されておらず、適切にセットアップして維持することは、すべての開発者や組織にとって選択肢ではありません。一部のパッケージ リポジトリ サービスはプライベート Go モジュールの操作をサポートしていますが、一般に開発者に最もクリーンなエクスペリエンスを提供しません。

このため、ほとんどの場合、go get、go install、または go mod download を使用するときに、プライベート リポジトリでの認証を管理するために、いくつかの Go 環境変数と組み合わせた複雑な Git 構成 (.netrc または .gitconfig) を手配することになります。 .

これらの Git 構成の問題は、すべての開発者にとって明らかではなく、ファイルシステムにプレーンテキストの資格情報を保存する必要があるため安全ではない可能性があることです。これらの問題は、CI/CD システムの構成や Docker イメージの構築などの場合にさらに問題になります。

goproxy.dev の紹介

長年の Golang 開発者 (Go モジュールが存在すらしなかった時代からの開発者) として、私たちはプライベート Go ライブラリの操作がパブリック ライブラリの操作と同じくらい簡単かつ強力になる時代を常に夢見てきました。

プライベート Go ライブラリを開発して GitHub にプッシュし、GOPROXY 環境変数を設定するだけで、すぐにプロジェクトのソース コードから新しい変更を取得 -u できることを想像してください。複雑で安全でない Git 構成、セルフホスト型 GOPROXY メンテナンス、複雑でエラーが発生しやすい公開ワークフローは必要ありません。また、ローカルの開発マシン、Dockerfile、CI/CD 環境にも同じセットアップが必要です。

goproxy.dev は、GitHub と統合して シームレスな Go プライベート モジュールのインストールを提供するプライベート GOPROXY サービスです。

開発ワークフローで goproxy.dev をセットアップする方法

GitHub アカウントで goproxy.dev にサインインし、使用するプライベート リポジトリへのアクセスを許可し、GOPROXY および GONOSUMDB 環境変数をエクスポートするだけです。

export GOPROXY=TOKEN@proxy.goproxy.dev,proxy.golang.org,direct
export GONOSUMDB=github.com/your-organization
ログイン後にコピー

これらの Go 環境変数は、シェル設定 (.zshrc、.bashrc など) から直接設定するか、go env -w を使用して設定できます。

その後、通常の go コマンドを実行して、プライベート モジュールをインストールおよびダウンロードできます。

go get github.com/your-organization/go-module@v2.0.0
go install github.com/your-organization/go-module/cmd
...
go mod download
ログイン後にコピー

goproxy.dev を使用して Docker イメージを構築する方法

goproxy.dev との統合には、2 つの環境変数を設定するだけで済みます。 Docker ビルド中にこれを行う最善の方法は、Docker ビルド シークレット機能を使用することです。

Dockerfile 内:

COPY go.mod go.sum ./
RUN --mount=type=secret,id=GOPROXY \
    GOPROXY=$(cat /run/secrets/GOPROXY) \
    GONOSUMDB=github.com/your-organization \
    go mod download
RUN go build .
ログイン後にコピー

そして実行:

GOPROXY="[your GOPROXY value]" docker build --secret id=GOPROXY
ログイン後にコピー

GitHub Actions から goproxy.dev を使用する方法

GOPROXY URL を含む GitHub アクションのシークレットを設定し、ワークフローから使用するだけです:

jobs:
  build:
    - run: |
        go mod download
        go build .
      env:
        GOPROXY: ${{ secrets.PRIVATE_GOPROXY }}
        GONOSUMDB: github.com/your-organization
ログイン後にコピー

 今すぐ Go 開発ワークフローを簡素化しましょう

goproxy.dev を使用すると、Go でライブラリを使用するときに最高の開発者エクスペリエンスが得られます。オープンソースのパブリック ライブラリに依存しているか、組織のプライベート モジュールに依存しているかに関係なく、統合されたワークフローが得られます。つまり、GOPROXY 環境変数を設定し、特定のバージョン、Git ブランチ、またはコミットの依存関係を取得します。

14 日間の無料トライアルにサインアップして、詳細を確認し、今すぐ goproxy.dev を使い始めましょう。

以上がプライベート Go モジュールの管理とインストールが簡単の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!