-
Notifications
You must be signed in to change notification settings - Fork 131
リリース
対象Milestoneの全てのIssueがClosedとなると、ベータテストを実施します。
ベータテスト期間を経てリリースマネージャーがリリース予定日にリリース作業を行います。
リリース前には、多くの方に動作確認を実施してもらい、フィードバックを行うベータテストを実施します。
リリース内容の規模により、プライベートベータテスト、または、パブリックベータテストを実施します。
- プライベートベータテスト:コアメンバーにベータ版のリリースを告知し、その中でベータテストを行う方法です。
- パブリックベータテスト:一般の方でテスターを募り、ベータテストを行う方法です。
ベータテストの詳細については、baserCMSベータテストの参加方法と報告方法
を参考にしてください。
Git のログより、/lib/Baser/VERSION.txt にバージョンアップのログをまとめ、1行目のバージョン番号をリリースする番号に書き換えます。
ここからの作業は後述するbasergitlog.shを利用すると良いでしょう。
マージ、.gitignoreの変更、テストの失敗に対する対応、再調整といったログや、内部的な詳細・変更理由は除外し、
Pull Requestのコミットに付属する「(#{PR番号}) 」の部分はそのログから削除します。
また修正という単語は改善という単語に置き換えるようにします。
VERSION.txt に記載するログは、次の形式でまとめます。
-改修タイプ: [パッケージの省略文字] 改修内容
改修タイプは次の内容となります。
- 新機能:NEW
- 仕様変更:CHG
- 不具合修正:BUG
パッケージの省略文字は次のとおりです。
- baserCMSコア:BC
- ブログプラグイン:BG
- メールプラグイン:ML
- フィードプラグイン:FD
- アップローダー:UD
(例)-BUG: [FD] fixes #7385 RSSフィードの読込時に本文中の<img>タグが読み取れていない 問題を改善
また、アップデート時に自動化できない手動作業が発生する場合は、その内容もログの下にまとめておきます。
《basergitlog.sh を利用する》
ログのとりまとめには、basergitlog.sh
を利用する事もできます。
利用するには、basergitlog.sh
をコマンドとして実行できるように準備し、ローカルレポジトリのパスに移動した上で次のように実行します。
前バージョンのリリース日は、git log で調べるとよいでしょう。
このコマンドは、Git のログを元に整形されたデータを、同階層の「basergit.log」として出力します。
なお、改修タイプは、「BUG」固定、パッケージの省略文字は「BC」固定となりますので、手動で調整が必要となりますので注意してください。
basergitlog.sh [前バージョンリリース日]
(例)basergitlog.sh 2015/03/01
VERSION.txt の編集が完了したら、江頭に確認依頼を出します。
確認が通ったら、開発版の最後のコミットとプッシュを実施します。
コメントメッセージには、次のようにしましょう。
basercms-x.x.x リリース
(例)
git add lib/Baser/VERSION.txt
git commit -m "basercms-4.0.7 リリース"
git push origin dev-4
リリースの準備が完了したら、baserCMS公式サイト の情報を最新の状態にする為、下書き状態で書き換えます。
新機能の追加が発生した場合は、機能一覧
ページを「下書状態」で更新します。
また、機能内容が大きい場合、別途、Webページを作成し、リンクします。
VERSION.txt の内容を元に リリースノート ページを、最新のものをコピーして「非公開状態」で作成します。
《basergitloghtml.sh を利用する》
リリースノートページの取りまとめには、basergitloghtml.sh
を利用する事もできます。
利用するには、basergitloghtml.sh をコマンドとして実行できるように準備し、basergit.log
を引数に指定した上で次のように実行します。
このコマンドは、basergit.log を元に整形されたデータを、同階層の「basergitlog.html」として出力します。
(例)basergitloghtml.sh ./basergit.log
baserCMSのアップデート方法を記載した アップデート方法
ページを、最新のものをコピーして「非公開状態」で作成します。
アップデート時に自動化できない手動作業が発生する場合は、その手順等をまとめておきます。
ダウンロード ページと、旧バージョンのダウンロード ページを、本校を下書きにコピーして更新します。
baserCMSニュース リリースノート
に、過去の「リリースノート」カテゴリの記事をコピーして「非公開状態」で記事を作成します。
コミッター一覧の取得にはbasercommiter.shを利用します。
basercommiter.sh [前バージョンリリース日]
(例)basercommiter.sh 2015/03/01
コマンド
git log --after="2019-07-26" --pretty=format:"%an" |sort| uniq
GitHubユーザーへのリンクはターゲットを_blankに設定します。
投稿日を更新するのを忘れないようにします。
開発ブランチの全てのコミットが完了したら、マスターブランチにマージして、タグを作成した上でプッシュします。
(例)
git checkout master
git branch master.bak
git merge dev-4
git tag basercms-4.0.7
git push origin master --tags
git checkout dev-4
git branch -D master.bak
ダウンロード用のZIPパッケージを作成し baserCMS公式サイトにアップロードします。
後述するbaserpackage.shを利用すると良いでしょう。
(例)パッケージの作成
# クローン
git clone [email protected]:baserproject/basercms.git
cd basercms
# 余計なファイルを削除
rm .gitignore
rm -rf .git
rm -rf lib/Cake/Test
rm -rf vagrant_cookbooks
rm -rf Vagrantfile.default
rm -rf lib/Baser/Test
rm -rf travis.php.ini
rm -rf docker
cd ../
# 圧縮(zip / tar)
zip -r basercms.zip basercms
mv basercms.zip basercms-3.0.7.zip
tar zcvf basercms.tar.gz basercms
mv basercms.tar.gz basercms-3.0.7.tar.gz
# クローンしたファイルを削除
rm -rf basercms
《baserpackage.sh を利用する》
ダウンロードパッケージの作成には、baserpackage.sh
を利用する事もできます。
利用するには、baserpackage.sh をコマンドとして実行できるように準備し、ローカル環境で次のように実行します。
このコマンドは、圧縮された zip 形式と、tar
形式のファイルを、同階層の「basercms-バージョン番号.zip」「basercms-バージョン番号.tar.gz」として出力します。
baserpackage.sh [バージョン番号]
(例)baserpackage.sh 3.0.7
出来上がったパッケージを元に旧バージョンダウンロードページの最新版のサイズを更新します。
また、devブランチでVERSION.txtの先頭のバージョン番号をx.x.x-devに変更し、メッセージを以下のように書いてコミットし、プッシュします。
バージョン番号を4.1.5-devに変更
事前に準備した、下書ページ、非公開記事の公開作業を行います。
公開前に江頭に確認依頼を出し、確認が通ったら公開します。
実質これで、最新バージョンをリリースした事になります。
パッケージのダウンロード、リンクのチェックを行います。
baserCMSプロジェクトメンバー名簿より、新しくメンバーとなった方で、スペシャルサンクスへの登録希望の方をピックアップし、baserCMS公式サイトのスペシャルサンクスリストに追加する。
バージョンアップした事を広く認知してもらえるよう、告知を行います。
- 広報担当に連絡
- baserCMS コアデベロッパーズ(Slack)に告知
- baserCMS Evangelists に告知
- baserCMSサポーターズ に告知
- baserCMSユーザーズフォーラム に告知
- baserCMS雑談広場 に告知
-
Facebookページ に告知(Twitterに自動連携)
最後に baserCMSプロジェクトで運営しているWebサイトのbaserCMSをアップデートします。
実施する際は事前に計画を立て、告知を行ってから行います。
-
デモサイト
のbaserCMSを、libフォルダを更新して最新バージョンにアップデート
メンテナンスモードに入るため/updateを実行 - baserCMS公式サイト のbaserCMSを最新バージョンにアップデート