tapでGolangの自作アプリケーションを公開する方法ツイートシェアはてブLINEPocketどうも、高妻です。ossもいくつか作ってますが、全然活発ではないので今後力を入れるためにもGolangでTwitterクライアントを作りました。Twitterクライアントと言っても、スクレイピングした結果をコンソールに表示しているだけなので全然大したことはしてませんが勉強がてら公開してみます。ソースコードはGitHubで公開しています。スクリプトのインストールと実行はbrewで行えるようにしています。今回はオリジナルのスクリプトをbrewでどうやって使えるようにするのか下記順番で解説したいと思います。OS上で便利ツールを簡単にインストールできるソフトウェアです。Macユーザならマストで使っていると思うので深くは解説しません。今回はこのbrewを使って自作したアプリケーションをインストールできるようにして、さらに実行できるようにします。tapとはGitHubに上げたフォーミュラというインストール手順書に従って自作アプリケーションをインストールしてくれる仕組みです。簡単にできるので順番に解説して行きます。冗長ですがリポジトリを2つ用意します。今回の場合だとGo-Twitterとhomebrew-Go-Twitterというリポジトリを用意しました。OSSとしてみんなにコミットしてもらうのはGo-Twitterの方で、homebrew-Go-Twitterはbrewでインストールできるバージョンの管理を行います。tapの決まりなので深く考える必要はありません。最悪分けずにhomebrewの方に統一してもいいですが頭にhomebrewと付けるのがダサいので別にしています。Golangでバイナリの作成とアップロードbrewはMacでしか使えないのでMacで動作するようにバイナリをビルドします。Golangだと簡単にビルドできるのでそんなに解説は必要ないですが一応。darwinになってればいいみたいです。envGOARCH="amd64"GOOS="darwin"実行時は特に指定することなくこれだけで大丈夫です。go-twitter-oオプションでビルドファイル名が決められるのでgo-twitterとしました。このバイナリファイルをGo-Twitterリポジトリにアップロードします。GitHubのrelaseタブからバージョンを作ってバイナリファイルがアップロードできます。このバイナリファイルのURLをこのあと使います。右クリックしてリンクをコピーしておいて下さい。フォーミュラの作成フォーミュラは自作アプリのインストール手順を明記する拡張子がrb(ruby)のファイルになります。先に結果を載せておきます。設定すべき項目は下記です。desc:自作アプリの説明url:バイナリのurl(さっきアップロードしてリンクをコピーしたやつ)sha256:バイナリのハッシュ値(この後解説)insntallメソッド:インストール方法を記述。"go-twitter"endendsha256の簡単な求め方opensslコマンドでバイナリファイルを指定すると簡単に取得できます。ここで出力されたsha256をフォーミュラに設定します。3b5de7eddcf5dbc45d092f61bd3f1fc208c761cd448aab7a0c3e4d310c961d51全て記入が完了したらリポジトリにpushして下さい。フォーミュラの設定はこれで完了です。自作アプリケーションのインストールと実行バイナリとフォーミュラの準備が終わったので実際にインストールして使えるか試します。tapでインストールインストールはこれだけです。go-twitter実行あとは実行するだけです。20件くらいのtweetが表示されます。フォーマットがキレイにならないのが直近の解決したい問題ですね。Go言語のインターフェイス、使い道をちゃんと説明してくれてる記事に初めて出会えた。本日のAPIテストに関する登壇資料です!ノウハウがあんまなかったのでまとめました。golang好きやなぁと思った今日。editionをQRコードからダウンロードできます。紹介:マーケティングやビジネス視点を持ったエンジニアです。バックエンドもフロントエンドも実務経験しているエンジニアです。Flutterもやってます。Go言語のインターフェイス、使い道をちゃんと説明してくれてる記事に初めて出会えた。本日のAPIテストに関する登壇資料です!ノウハウがあんまなかったのでまとめました。golang好きやなぁと思った今日。editionをQRコードからダウンロードできます。紹介:マーケティングやビジネス視点を持ったエンジニアです。バックエンドもフロントエンドも実務経験しているエンジニアです。Flutterもやってます。tomokazukozuma$最後にこんな感じで少しずつでも自分の作ったものを公開していきたいと思います。修正プルリク待ってます。ソースコードめちゃくちゃ小さいので簡単だと思うのでよろしくお願いします。スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。Incにブロックチェーンエンジニアとして入社。コメントをキャンセルメールアドレスが公開されることはありません。人生はアウトプットでしか変化しないとつくづく思うRECOMMENDこちらの記事も人気です。