1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubのプライベートリポジトリのアプリをHomebrewでインストールできるようにする

Posted at

はじめに

個人用に開発し、GitHubのプライベートリポジトリで管理しているGolangのアプリケーションがあります。インストールなどの管理を一元化をするため、Homebrewを利用してインストールできるように対応してみました。その際に参考にした情報を以下にまとめます。本投稿は個人用の備忘録の意味合いが大きく、私が忘れた時にまた参照しようと思って書いています。

準備

全体的な流れ

プライベートリポジトリのアプリをHomebrewでインストールできるようにするための全体的な流れは以下の通りです。

  1. GoReleaserでリリース自動化設定
  2. GitHub上でPersonal Access Tokenを作成(Contents Read権限付与)
  3. brew tapでプライベートリポジトリ追加
  4. brew installでアプリインストール完了(インストール時に環境変数HOMEBREW_GITHUB_API_TOKEN設定)

手順1:インストール用の配布物(アプリケーションのバイナリ)を作成する

まず該当アプリケーションを開発しているリポジトリでGoReleaserを利用し、配布物を作るようにします。こちらの記事を参考にしました。
GoReleaser で Go 製 CLI のリリースを自動化& Homebrew でインストールできるようにする

基本的にこの記事の通りに対応すればリリース物の作成ができると思います。
私がよく見失ってしまうPAT作成画面のリンクはこちらです。

手順2:プライベートリポジトリからインストールできるようにする

こちらの記事を参考にしました。
プライベートリポジトリをbrew tapでinstallできるようにする

こちらの対応をするにあたって、該当リポジトリにアクセスするためのPersonal Access Tokenを払い出しておく必要があります。
この際のポイントは、「該当アプリケーションを開発しているリポジトリ」に対して"Contents"の"Read"権限を付与したTokenを払い出す必要があるという点です。

インストール

ここまで対応すると、以下のようなコマンドでインストールすることができます。
以下は、シェルがfishの場合です。

brew tap xtatsux/hoge git@github.com:xtatsux/hoge.git //こちらは実際のリポジトリのURLに置き換えてください
set -x HOMEBREW_GITHUB_API_TOKEN <token> //<token>は実際のPATを入力してください
brew install xtatsux/tap/hoge

hogeが、今回Homebrewでインストールしたい該当のアプリケーションのリポジトリになります。

おわりに

これでプライベートリポジトリの生成物をHomebrewを利用してインストールすることができるようになりました。Tokenを環境変数に設定する必要があるのでちょっと一手間ありますが、アプリケーションのインストールについては管理が簡単になってよいですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?