🔑
SAML認証の掛かったGithubプライベートリポジトリのGoパッケージをimportする
はじめに
やりたかったこととして、
SAML認証が掛かったGithubプライベートリポジトリで管理しているリポジトリAのパッケージを別のリポジトリBでimportするということ
手順
1. インポートされる側のプライベートリポジトリを用意
適当にPrivateリポジトリを作成します。今回は仮にgo-lib
のようなリポジトリと仮定します
$ cd /path/to/go-lib
$ go mod init github.com/YourTeam/go-lib
go-lib/
- go.mod
- log/
log.go
log.goの中は適当に何か関数とか作ってみてもいいかもしれないです
2. トークンの取得
GithubでPersonal Access Tokenを作成するためにトークン作成ページにアクセスをします。
この際に、Fine-grained tokens と Tokens(classic) がありますが、 Tokens(classic) でトークンを作成します。
トークンが作成されたら表示されるトークンの値をコピーしておき、以下のように表示される Configure SSO というボタンが表示されるのでクリックします
3. プライベートリポジトリをインポート
インポートするGo Appの用意
$ mkdir go-importer
$ cd go-importer
$ go mod init github.com/YourTeam/go-importer
とgo getする側のgo appの準備が出来たら、プライベートリポジトリをgo getするための設定を行っていきます。
gitの設定を変更
2で作成したtokenの値が hogetokenだとします
# 以下が書式
$ git config --global url."https://【トークン】:x-oauth-basic@github.com/".insteadOf "https://github.com/"
$ git config --global url."https://hogetoken:x-oauth-basic@github.com/".insteadOf "https://github.com/"
のようにします
インポート
$ cd /path/to/go-importer
# logパッケージをgo get
$ GOPRIVATE=github.com/YourTeam/go-lib go get github.com/YourTeam/go-lib/log
以上でSAML認証の掛かったプライベートリポジトリにあるGoパッケージをインポート出来るかと思います
Discussion