Skip to content
gondoh edited this page Jan 28, 2021 · 45 revisions

対象Milestoneの全てのIssueがClosedとなると、ベータテストを実施します。
ベータテスト期間を経てリリースマネージャーがリリース予定日にリリース作業を行います。
 

1. ベータテスト

リリース前には、多くの方に動作確認を実施してもらい、フィードバックを行うベータテストを実施します。
リリース内容の規模により、プライベートベータテスト、または、パブリックベータテストを実施します。

  • プライベートベータテスト:コアメンバーにベータ版のリリースを告知し、その中でベータテストを行う方法です。
  • パブリックベータテスト:一般の方でテスターを募り、ベータテストを行う方法です。

現在はメジャーバージョンアップ時に募集され都度方法が決定されます。
 

2. リリースパッケージ準備

前提条件

作成対象

  1. VERSION.txt の作成
  2. VERSION.txt の更新
  3. リリースノート向け変更情報の作成
  4. コミッター一覧 の作成
  5. masterブランチ・タグの更新
  6. パッケージの作成

2-1 VERSION.txt の作成

作業一覧

  1. git管理され開発ブランチを利用したソースコード上で実施
  2. basergitlog.sh によるgit logからログ一覧の取得
  3. 改修タイプの設定
  4. パッケージ略称文字の設定
  5. マージログの削除
  6. .gitignoreの変更ログの削除
  7. テスト失敗に対する対応ログの削除
  8. 再調整といったログの削除
  9. 内部的な詳細・変更理由は削除
  10. 修正文言の変更
  11. その他わかりにくいメッセージの明確化
  12. 江頭へ追加ログの確認依頼を提出

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)に確認依頼を出します。

2-2 VERSION.txt を更新

作業一覧

  1. VERSION.txt 1行目のバージョン番号をリリースバージョンに変更
  2. 作成したログをVERSION.txtに追記
  3. コミットメッセージの作成
  4. 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

2-3 リリースノート向け変更情報の作成

作業一覧

  1. VERSION.txt向けに生成したbasergit.logが配置された環境で実施
  2. コマンドを実行 basergitloghtml.sh ./basergit.log
  3. basergitlog.htmlを確認

《basergitloghtml.sh を利用する》 basergit.log を元に整形されたデータを、同階層の「basergitlog.html」として出力します。

basergitloghtml.sh ./basergit.log

2-4 コミッタ一覧の作成

作業一覧

  1. git管理され開発ブランチを利用したソースコード上で実施
  2. 前回リリース日を指定したコマンドを実行 git log --after="2019-01-01" --pretty=format:"%an" |sort| uniq
  3. 過去のコミッター一覧からリンクを作成
  4. 過去のコミッター一覧にない場合はgitのログよりgithubのアカウントページへのリンクを指定して作成
  5. 一時的にテキストエディタなどに保存

《コマンドの実行》 リリース予定まで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>

2-5 masterブランチ・タグの更新

作業一覧

  1. git管理され開発ブランチを利用したソースコード上で実施
  2. 上記例のタグ名称箇所をリリースバージョンに合わせて実行

開発ブランチの全てのコミットが完了したら、マスターブランチにマージして、タグを作成した上でプッシュします。

(例)
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

2-6 パッケージの作成

作業一覧

  1. ~/Downloadsフォルダなどクリーンな環境で実施
  2. baserpackage.sh [バージョン番号] を実行
  3. basercms-バージョン番号.tar.gzの生成を確認
  4. basercms-バージョン番号.zipの生成を確認
  5. basercms-バージョン番号.zipのファイルサイズを取得(ダウンロードページに記述します)
  6. 開発版の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

3. 公式サイトの更新準備

作成対象

  1. 機能一覧 (固定ページ更新)
  2. アップデート方法 (固定ページ追加)
  3. リリースノート (固定ページ追加)
  4. ダウンロード (固定ページ更新)
  5. baserCMSニュース リリースカテゴリ (ブログ記事追加)
  6. 公開前確認

リリースパッケージの準備が完了したら、baserCMS公式サイト の情報を最新の状態にする為、下書き状態で書き換えます。

3-1 機能一覧 (固定ページ更新)

新機能の追加が発生した場合は、機能一覧 ページを「下書状態」で更新します。
また、機能内容が大きい場合、別途、Webページを作成し、リンクします。
投稿日を更新するのを忘れないようにします。

3-2 アップデート方法 (固定ページ追加)

baserCMSのアップデート方法を記載した アップデート方法 ページを、最新のものをコピーして「非公開状態」で作成します。
アップデート時に自動化できない手動作業が発生する場合は、その手順等をまとめておきます。

3-3 リリースノート (固定ページ追加)

VERSION.txt の内容を元に リリースノート ページを、最新のものをコピーして「非公開状態」で作成します。
機能情報を事前に作成した basergitlog.html から転記して更新します。

3-4 ダウンロード (固定ページ更新)

ダウンロード ページと、本校を下書きにコピーして更新します。
投稿日を更新するのを忘れないようにします。
新しく作成したパッケージのサイズを記述し更新します。
投稿日を更新するのを忘れないようにします。

3-6 baserCMSニュース リリースカテゴリ (ブログ記事追加)

baserCMSニュース リリースノート に、過去の「リリースノート」カテゴリの記事をコピーして「非公開状態」で記事を作成します。
ページ下部にパッケージ準備の際に作成したコミッター一覧を開発貢献者として追記し更新します。

3-7 公開前確認

上記追加・更新サイトを江頭に確認依頼を提出します。

4. リリース作業

作成対象

  1. パッケージのアップロード
  2. 下書ページ、非公開記事の公開

公開前に江頭に確認依頼を出し、確認が通ったら公開します。

4-1 パッケージのアップロード

ダウンロード用のZIPパッケージを作成し baserCMS公式サイトにアップロードします。

4-2 下書ページ、非公開記事の公開

事前に準備した、下書ページ、非公開記事の公開作業を行います。
実質これで、最新バージョンをリリースした事になります。

パッケージのダウンロード、リンクのチェックを行います。

記事の投稿日等、更新日時情報を必ず確認すること。

5. スペシャルサンクス更新

baserCMSプロジェクトメンバー名簿より、新しくメンバーとなった方で、スペシャルサンクスへの登録希望の方をピックアップし、baserCMS公式サイトのスペシャルサンクスリストに追加する。

6. 告知

バージョンアップした事を広く認知してもらえるよう、告知を行います。

7. 各サイトのアップデート

作成対象

  1. デモサイトのバージョンアップ
  2. 公式サイトのバージョンアップ
  3. baserCMS wikipediaページの更新

最後に baserCMSプロジェクトで運営しているWebサイトのbaserCMSをアップデートします。
実施する際は事前に計画を立て、告知を行ってから行います。

7-1 デモサイトのバージョンアップ

デモサイト のbaserCMSを、libフォルダを更新して最新バージョンにアップデート メンテナンスモードに入るため/updateを実行

7-2 公式サイトのバージョンアップ

baserCMS公式サイト のbaserCMSを最新バージョンにアップデート

↑↑↑ Wikiに登録されているページは古いドキュメントです。 新しいドキュメントは、baserCMS公式ガイド をご覧ください。

Clone this wiki locally