きっかけ
Redmineのバージョンでどのチケットが反映されたかは分かるようにし、タグをつけてGitHubでリリースノートを手書きしていました。このリリースノートに、どのPRがマージされてたとか、どのチケットが反映されたかの一覧を自動でやってくれないかと、すこし探したらchangelogの自動生成を見つけました。
当初とはちょっとずれましたが、ひとつのファイルにまとめてできるならそれもありかと思い、導入してみました。
github-changelog-generator
いくつかあったのですが、こちらのgemを使うことにしました。
Windowsへのrubyのインストール
windowsマシンで開発しているので、rubyのインストールが微妙に障害に…
面倒なので下記を使いました。現在は2.1.x系を使えとのことで、これをダウンロード。
http://rubyinstaller.org/
インストール先のPATHを通せば完了です。
tokenの設定
認証なしのリクエスト数が制限されているので、原則はtokenをつけて使用するとのことです。
アカウントのアイコン>Settings>Personal access token より作成できます。
https://github.com/settings/tokens/new
CHANGELOG作成
GitHub上で見ることを前提として、markdownで記述されたファイルができあがります。
git remote originを設定済みなら、ローカルリポジトリに移動して下記コマンドでOKです。
github_changelog_generator -t [github-token]
公式サイトのサンプルはこんな感じです。
https://github.com/skywinder/Github-Changelog-Generator/blob/master/CHANGELOG.md
マージしたPR、closeしたissueがリストアップされます。
issueにラベルをつけていれば、「Fixed Bugs」などと分類されるようです。
まとめ
changelogやリリースノートにどういう情報を載せるかは悩ましいですね…
こういったものを有効活用しようと思うとPR主体の開発に向かっていきそうですね。まずはやってみると、tagつけをどうするかも見直すきっかけになるし、どのバージョンでどの程度変更が入ったかも辿りやすくなります。
参考サイト