やったことだけ書く備忘録

ビルドしたタグで成果物付きGithub Releaseを作るシェルスクリプト書いた

ビルド時にGithub Releaseを作りたい



何らかのツールとかライブラリを書いて配布するのにGithub Releaseを使いたかったけど、毎回GUIでポチポチ作って成果物をアップロードして…というのがどうにも面倒になって自動化するためにシェルスクリプトを書いた。

node.jsなら webpro/release-itみたいなのがあって便利そうだけど、CIから実行する時にnode.jsが入ってるコンテナで毎回やるわけじゃないし、shellなら大抵使えるだろうってことでコマンド一発で発行できるようにした。スクリプトは下記:





詳しくはコメントに書いたけど、$GITHUB_TOKENって名前でGithubのアクセストークンを環境変数にセットするだけでOK。CircleCIとTravisはサポートしてるのであとは環境に合わせてコメントアウトを解除したりしてもらえば動く。Jenkinsとかからやるならそもそも自由に書いてもらえばいいと思う。



成果物もアップロードしたい



例えばGoのプロジェクトならビルド済みのバイナリだったり、他でもアーカイブしたファイルなんかをリリースに入れてダウンロードさせたい場合はASSETS_DIRに指定したディレクトリ内に成果物を置いておけばよしなに上げてくれて便利。

依存関係にjqコマンドとfileコマンドが必要なので、実行前にインストールしてないと失敗するので注意です。

現場からは以上です。

« 前の記事 次の記事 »