GitHubに公開したファイルとは別に、データファイルだけを置いて、それをwgetを使って別途利用して欲しい場合があります。例えば、chromebrewで使うコンパイル済みバイナリファイルなど。
昔のGitHubだとそういうファイルをpostして、git cloneするファイルとは別に管理できたみたいですが、今は出来ません。
今は代わりにreleaseページを作ってそこにバイナリを置けるのですが、イマイチ使いづらいのです。毎回web UIからファイルをD&Dしないといけなかったり。
なのでこれまで使ってなくて、代わりにgit lfsを使おうと調べてみたらこちらもイマイチ、バグがあったり遅かったり、更にはdevelopperは必ず全てのデータを取得しないといけないなど、使いづらそうです。
なので今度は方向性を変えて、releaseページにCLIからファイルを追加する方法を探してみました。そしたら良いのがあったので紹介です。
https://github.com/aktau/github-release
ただオプションがいっぱい必要だったりイマイチ使いづらいなと。なのでwrapperを作ってみました。
https://github.com/jam7/simple-github-release
できることは最小限に絞って、他のプロジェクトにコピーして置いて使いやすいよう工夫しています。コピーして使う時は、先頭の'owner'と'repo'をハードコーディングしてしまうといいですね。
これを使うと、
$ ./upload-github-release.sh v1.0 tarfiles/*.tar.xzとするだけで、v1.0のリリースページにtarfilesディレクトリ配下のファイルが全てコピーされます。困ってる人は是非使ってみてください。
0 件のコメント:
コメントを投稿