はじめに
最近趣味でGoで書いてるmyawsというツールにbrew tapを作った。
ビルド済みバイナリをghrなどでGitHubのReleasesページにあらかじめアップロードまでしてたけど、自分の周りの人々に使ってもらうのにインストールの敷居を下げるためにbrewでインストールできるようにしようかなと。brewの本家に登録するほどのものでもないので、とりあえずbrew tapで個人リポジトリで運用。
Goだとビルド済みのバイナリダウンロードして展開するだけなので、思いのほか簡単だった。
手順
まずhomebrew-myawsというリポジトリを作って、
myaws.rbというファイルを作って、ビルド済みのバイナリを取ってきて展開するだけなら中身これだけ。
myaws.rb
require "formula"
class Myaws < Formula
homepage "https://github.com/minamijoyo/myaws"
url "https://github.com/minamijoyo/myaws/releases/download/v0.0.7/myaws_v0.0.7_darwin_amd64.tar.gz"
sha256 "8857fb781417eb6ed370084a27de57993272d19e35df8db180c41f8cecf632a3"
head "https://github.com/minamijoyo/myaws.git"
version "0.0.7"
def install
bin.install "myaws"
end
end
sha256のダイジェストはtar.gzのファイルをダウンロードしてきて、opensslで確認。
$ openssl dgst -sha256 ~/Downloads/myaws_v0.0.7_darwin_amd64.tar.gz
SHA256(/Users/m-morita/Downloads/myaws_v0.0.7_darwin_amd64.tar.gz)= 8857fb781417eb6ed370084a27de57993272d19e35df8db180c41f8cecf632a3
これで、以下のようにしてインストールすることができるようになった。
$ brew tap minamijoyo/myaws
$ brew install myaws
$ which myaws
/usr/local/bin/myaws
$ myaws version
myaws version: v0.0.7, revision: c24f7f2
うん。よさげ。
まとめ
意外と簡単なので、俺々コマンドをbrewで入れたくなったらどうぞ。
(2017/02/04追記)プライベートなGitHubリポジトリでやる方法は以下に書いた。
HomebrewでプライベートなGitHubリポジトリのReleaseページから社内ツールを配布する