目的
CIを回している時に、プライベートリポジトリのgo get
に失敗したので、それを解決します。
普段ローカルでプライベートリポジトリをインポートする際、GOPRIVATE
環境変数を利用しているかと思いますが、同様のことをCI環境(Github Actions)で行うといった内容です。
準備
Githubの自動トークン認証を使います。
Personal Access Token(PAT)はセキュリティ的な観点から利用しません。
自動トークン認証は${{ secrets.GITHUB_TOKEN }}
で一時的なトークンを発行できます。権限はPATより弱いですが、go get
するには十分です。
解決方法
このように指定すると解決されます。
run: |
git config --global url."https://github-actions:${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
GOPRIVATE="github.com/<org>"
// go get ~~
以上