-
Notifications
You must be signed in to change notification settings - Fork 130
リリース
対象Milestoneの全てのIssueがClosedとなると、ベータテストを実施します。
ベータテスト期間を経てリリースマネージャーがリリース予定日にリリース作業を行います。
リリース前には、多くの方に動作確認を実施してもらい、フィードバックを行うベータテストを実施します。
リリース内容の規模により、プライベートベータテスト、または、パブリックベータテストを実施します。
- プライベートベータテスト:コアメンバーにベータ版のリリースを告知し、その中でベータテストを行う方法です。
- パブリックベータテスト:一般の方でテスターを募り、ベータテストを行う方法です。
現在はメジャーバージョンアップ時に募集され都度方法が決定されます。
- MacOSXコンソールでの実施
- basergitlog.shの利用
- basergitloghtml.shの利用
- baserpackage.shの利用
- 上記を/usr/local/binなどPATHの通った場所に配置
- VERSION.txt の作成
- VERSION.txt の更新
- リリースノート向け変更情報の作成
- コミッター一覧 の作成
- masterブランチ・タグの更新
- パッケージの作成
- git管理され開発ブランチを利用したソースコード上で実施
- basergitlog.sh によるgit logからログ一覧の取得
- 改修タイプの設定
- パッケージ略称文字の設定
- マージログの削除
- .gitignoreの変更ログの削除
- テスト失敗に対する対応ログの削除
- 再調整といったログの削除
- 内部的な詳細・変更理由は削除
- 修正文言の変更
- その他わかりにくいメッセージの明確化
- 江頭へ追加ログの確認依頼を提出
Git のログより、/lib/Baser/VERSION.txt にバージョンアップのログをまとめます。
ログはリリースノートに乗せるための情報として手動でまとめ、想定ターゲットはbaserCMS利用者を対象とした文章にします。
マージ、.gitignoreの変更、テストの失敗に対する対応、再調整といったログや、内部的な詳細・変更理由は除外し、Pull Requestのコミットに付属する「(#{PR番号}) 」の部分はそのログから削除します。
修正という単語は改善という単語に置き換えるようにします。
アップデート時に自動化できない手動作業が発生する場合は、その内容もログの下にまとめておきます。
VERSION.txt に記載するログは、次の形式でまとめます。
-改修タイプ: [パッケージの省略文字] 改修内容
(例)-BUG: [FD] fixes #7385 RSSフィードの読込時に本文中の<img>タグが読み取れていない 問題を改善
改修タイプは次の内容となります。
- 新機能:NEW
- 仕様変更:CHG
- 不具合修正:BUG
パッケージの省略文字は次のとおりです。
- baserCMSコア:BC
- ブログプラグイン:BG
- メールプラグイン:ML
- フィードプラグイン:FD
- アップローダー:UL
《basergitlog.sh を利用する》
リリース予定までMergeされたbasercmsのリポジトリ直下で下記を実行します。
※ YYYY/MM/DDには前回リリース日の日付が入ります。
basergitlog.sh YYYY/MM/DD
改修タイプは、「BUG」、パッケージの省略文字は「BC」となりますので、手動で内容に合わせて調整を実施します。
VERSION.txt の編集が完了したら、リードデベロッパー(ryuring)に確認依頼を出します。
- VERSION.txt 1行目のバージョン番号をリリースバージョンに変更
- 作成したログをVERSION.txtに追記
- コミットメッセージの作成
- dev-4ブランチへのpush
確認が通ったら、開発版の最後のコミットとプッシュを実施します。
1行目のバージョン番号をリリースする番号に書き換えます。
コメントメッセージには、「basercms-x.x.x リリース」のようにしましょう。
(例)
git add lib/Baser/VERSION.txt
git commit -m "basercms-x.x.x リリース"
git push origin dev-4
- VERSION.txt向けに生成したbasergit.logが配置された環境で実施
- コマンドを実行
basergitloghtml.sh ./basergit.log
- basergitlog.htmlを確認
《basergitloghtml.sh を利用する》 basergit.log を元に整形されたデータを、同階層の「basergitlog.html」として出力します。
basergitloghtml.sh ./basergit.log
- git管理され開発ブランチを利用したソースコード上で実施
- 前回リリース日を指定したコマンドを実行
git log --after="2019-01-01" --pretty=format:"%an" |sort| uniq
- 過去のコミッター一覧からリンクを作成
- 過去のコミッター一覧にない場合はgitのログよりgithubのアカウントページへのリンクを指定して作成
- 一時的にテキストエディタなどに保存
《コマンドの実行》
リリース予定までMergeされたbasercmsのリポジトリ直下で下記を実行します。
※ YYYY-MM-DDには前回リリース日の日付が入ります。
git log --after="YYYY-MM-DD" --pretty=format:"%an" |sort| uniq
baserCMSニュース リリースノート に掲載するためのコミッター一覧を作成します。
4系貢献者例(過去の貢献者一覧)
<li><a href="http://komomo.biz" target="_blank">komomoray</a></li>
<li><a href="https://github.com/CUiwamoto" target="_blank">CUiwamoto</a></li>
<li><a href="https://github.com/Doguu" target="_blank">Doguu</a></li>
<li><a href="https://github.com/Garyuten" target="_blank">Garyuten</a></li>
<li><a href="https://github.com/MASA-P" target="_blank">Masaharu Takishita</a></li>
<li><a href="https://github.com/MihoNishimura" target="_blank">Miho Nishimura</a></li>
<li><a href="https://github.com/YusukeHirao" target="_blank">Yusuke Hirao</a></li>
<li><a href="https://github.com/a-killer-bee" target="_blank">a-killer-bee</a></li>
<li><a href="https://github.com/beychanNs" target="_blank">beychan</a></li>
<li><a href="https://github.com/binbin4649" target="_blank">hideichi saito</a></li>
<li><a href="https://github.com/fukushima7728" target="_blank">fukushima_yumi</a></li>
<li><a href="https://github.com/genkiiiiii" target="_blank">genkiiiiii</a></li>
<li><a href="https://github.com/goichi-m" target="_blank">Goichi</a></li>
<li><a href="https://github.com/gondoh" target="_blank">gondoh</a></li>
<li><a href="https://github.com/h3zjp" target="_blank">h3zjp</a></li>
<li><a href="https://github.com/kaburk" target="_blank">sakaguchi</a></li>
<li><a href="https://github.com/kagasawa" target="_blank">kagasawa</a></li>
<li><a href="https://github.com/kanapple" target="_blank">kanapple</a></li>
<li><a href="https://github.com/katokaisya" target="_blank">kato</a></li>
<li><a href="https://github.com/kaz29" target="_blank">Kaz Watanabe</a></li>
<li><a href="https://github.com/kiyosue" target="_blank">Sunao Kiyosue</a></li>
<li><a href="https://github.com/materializing" target="_blank">arata</a></li>
<li><a href="https://github.com/n1215" target="_blank">n1215</a></li>
<li><a href="https://github.com/ryuring" target="_blank">ryuring</a></li>
<li><a href="https://github.com/seto1" target="_blank">seto</a></li>
<li><a href="https://github.com/shutoo" target="_blank">shutoo</a></li>
<li><a href="https://github.com/takumakume" target="_blank">Takuma Kume</a></li>
<li><a href="https://github.com/takumi001" target="_blank">Takumi</a></li>
<li><a href="https://github.com/tecking" target="_blank">tecking</a></li>
<li><a href="https://github.com/tomk79">Tomoya Koyanagi</a></li>
<li><a href="https://github.com/tommy6073" target="_blank">Takayuki NAGATOMI</a></li>
<li><a href="https://github.com/yama" target="_blank">yuma</a></li>
<li><a href="https://github.com/yocomado" target="_blank">yo.comado</a></li>
<li><a href="https://github.com/Diwamoto" target="_blank">Diwamoto</a></li>
<li><a href="https://github.com/momofff" target="_blank">Ryosuke Momoi</a></li>
<li><a href="https://github.com/morishita1222" target="_blank">morishita1222</a></li>
<li><a href="https://github.com/midnightSuyama" target="_blank">midnightSuyama</a></li>
<li><a href="https://github.com/uchin0" target="_blank">uchino</a></li>
- git管理され開発ブランチを利用したソースコード上で実施
- 上記例のタグ名称箇所をリリースバージョンに合わせて実行
開発ブランチの全てのコミットが完了したら、マスターブランチにマージして、タグを作成した上でプッシュします。
(例)
git checkout master
git branch master.bak
git merge dev-4
git tag basercms-4.0.1
git push origin master --tags
git checkout dev-4
git branch -D master.bak
- ~/Downloadsフォルダなどクリーンな環境で実施
- baserpackage.sh [バージョン番号] を実行
- basercms-バージョン番号.tar.gzの生成を確認
- basercms-バージョン番号.zipの生成を確認
- basercms-バージョン番号.zipのファイルサイズを取得(ダウンロードページに記述します)
- 開発版のVERSION.txtのバージョン情報を新開発版に変更してpush
《baserpackage.sh を利用する》
形式のファイルを、同階層の「basercms-バージョン番号.zip」「basercms-バージョン番号.tar.gz」として出力します。
※ x.x.xにはバージョン番号が入ります。
baserpackage.sh x.x.x
devブランチでVERSION.txtの先頭のバージョン番号をx.x.x-devに変更し、メッセージを以下のように書いてコミットし、プッシュします。
git commit -m 'バージョンをx.x.x開発版に変更'
git push origin dev-4
- 機能一覧 (固定ページ更新)
- アップデート方法 (固定ページ追加)
- リリースノート (固定ページ追加)
- ダウンロード (固定ページ更新)
- baserCMSニュース リリースカテゴリ (ブログ記事追加)
- 公開前確認
リリースパッケージの準備が完了したら、baserCMS公式サイト の情報を最新の状態にする為、下書き状態で書き換えます。
新機能の追加が発生した場合は、機能一覧
ページを「下書状態」で更新します。
また、機能内容が大きい場合、別途、Webページを作成し、リンクします。
投稿日を更新するのを忘れないようにします。
baserCMSのアップデート方法を記載した アップデート方法
ページを、最新のものをコピーして「非公開状態」で作成します。
アップデート時に自動化できない手動作業が発生する場合は、その手順等をまとめておきます。
VERSION.txt の内容を元に リリースノート
ページを、最新のものをコピーして「非公開状態」で作成します。
機能情報を事前に作成した basergitlog.html から転記して更新します。
ダウンロード
ページと、本校を下書きにコピーして更新します。
投稿日を更新するのを忘れないようにします。
新しく作成したパッケージのサイズを記述し更新します。
投稿日を更新するのを忘れないようにします。
baserCMSニュース リリースノート
に、過去の「リリースノート」カテゴリの記事をコピーして「非公開状態」で記事を作成します。
ページ下部にパッケージ準備の際に作成したコミッター一覧を開発貢献者として追記し更新します。
上記追加・更新サイトを江頭に確認依頼を提出します。
- パッケージのアップロード
- 下書ページ、非公開記事の公開
公開前に江頭に確認依頼を出し、確認が通ったら公開します。
ダウンロード用のZIPパッケージを作成し baserCMS公式サイトにアップロードします。
事前に準備した、下書ページ、非公開記事の公開作業を行います。
実質これで、最新バージョンをリリースした事になります。
パッケージのダウンロード、リンクのチェックを行います。
記事の投稿日等、更新日時情報を必ず確認すること。
baserCMSプロジェクトメンバー名簿より、新しくメンバーとなった方で、スペシャルサンクスへの登録希望の方をピックアップし、baserCMS公式サイトのスペシャルサンクスリストに追加する。
バージョンアップした事を広く認知してもらえるよう、告知を行います。
- 広報担当に連絡
- baserCMS コアデベロッパーズ(Slack)に告知
- baserCMSユーザーズフォーラム に告知
- Facebookページ に告知(Twitterに自動連携)
- デモサイトのバージョンアップ
- 公式サイトのバージョンアップ
- baserCMS wikipediaページの更新
最後に baserCMSプロジェクトで運営しているWebサイトのbaserCMSをアップデートします。
実施する際は事前に計画を立て、告知を行ってから行います。
デモサイト のbaserCMSを、libフォルダを更新して最新バージョンにアップデート メンテナンスモードに入るため/updateを実行
baserCMS公式サイト のbaserCMSを最新バージョンにアップデート