CHANGELOGファイルの自動生成
この問題を解決するために、トピックブランチ作成時に機能差分を書いたCHANGELOGファイルの断片(“news fragments”)を用意し、リリース時にツールでCHANGELOGを自動生成する。
Python本体のNEWS生成
1つの大きなNEWSファイルにエントリを追記していく代わりに、1つのエントリだけを含む小さいファイルを追加していき、ツールでそれらのファイルからNEWSファイルを生成する仕組みへの移行が急務となり、ツールの選定のためにコンペが行われました。
reno は OpenStack で使われているツールで、エントリファイルのフォーマットがYamlだったりとちょっとクセがあります。 towncrier も既存のツールで、ファイルの拡張子やディレクトリ名で必要なメタデータ (機能追加かバグフィックスかパフォーマンス向上かなど) を表現するのでファイルの中身はただのテキストになります。また、新規エントリを追加するのにコマンドを使わずたんにファイルを追加するだけで済むのも魅力です。NEWSをビルドするときに towncrier を必要とするものの、貢献者は towncrier を利用せずに済むからです。 blurb は Python のために新規に作られたツールで、 towncrier と reno の間くらいです。 最終的に、 Python の NEWS をより良くしていくためには独自のツールをメンテナンスする価値があるという判断で blurb が選ばれました。 応用
サービス開発において、どのブランチがどの環境にリリースされているのかを把握するために、branchが含んでいる機能を把握することが必要。
検証環境に異なる複数のbranchをリリースして動作確認する
本番環境へは動作確認がOKだった場合にリリースする
検証環境にリリースしたものでも最終的にリリースされないことがある