Skip to content
gondoh edited this page Sep 30, 2021 · 45 revisions

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

1.ベータテスト

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

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

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

2.リリース情報の確定

パッケージ内に含めるVERSION.txt及びリリースノートに記載する情報を作成します。

前提条件

  • MacOSXコンソールでの実施
  • basergitlog.shの利用
  • 上記を/usr/local/binなどPATHの通った場所に配置

作業項目

  1. VERSION.txt の作成
  2. 改修タイプの設定
  3. パッケージ略称文字の設定
  4. わかりにくいログの編集
  5. 不要ログの削除 ※ マージログ・テスト失敗への対応ログ・調整・内部的な詳細情報・変更理由

略称

改修タイプ

  • 新機能:NEW
  • 仕様変更:CHG
  • 不具合修正:BUG

パッケージの省略文字

  • baserCMSコア:BC
  • ブログプラグイン:BG
  • メールプラグイン:ML
  • フィードプラグイン:FD
  • アップローダー:UL

作業内容

VERSION.txt に記載するログは、次の形式でまとめます。

-改修タイプ: [パッケージの省略文字]   改修内容
(例)-BUG: [FD]  fixes #7385 RSSフィードの読込時に本文中の<img>タグが読み取れていない 問題を改善

《basergitlog.sh を利用する》 リリース予定までMergeされたbasercmsのリポジトリ直下で下記を実行します。
※ YYYY/MM/DDには前回リリース日の日付が入ります。

basergitlog.sh YYYY/MM/DD

改修タイプは、「BUG」、パッケージの省略文字は「BC」となりますので、手動で内容に合わせて調整を実施します。
VERSION.txt の編集が完了したら、リードデベロッパー(ryuring)に確認依頼を出します。

3.リリースパッケージ作成

リリース用のパッケージングを行います。

前提条件

  • MacOSXコンソールでの実施
  • git操作の基本知識
  • baserpackage.shの利用
  • 上記を/usr/local/binなどPATHの通った場所に配置

作成対象

  1. VERSION.txt の更新
  2. masterブランチ・タグの更新
  3. パッケージの作成

作業内容

リリース情報の確定にて作成したVERSION.txtを作成します。

VERSION.txtの更新

VERSION.txt 1行目のバージョン番号をリリースバージョンに変更します。
作成したリリース情報をVERSION.txtに追記します。

gitへの反映

dev-4ブランチにてVERSION.txtを更新しします。
masterブランチへ変更を取り込みます。
バージョンのタグを作成します。
masterブランチへ反映します。

(例)
git checkout dev-4
git add lib/Baser/VERSION.txt
git commit -m "basercms-x.x.x リリース"
git push origin dev-4

git checkout master
git merge dev-4
git tag basercms-x.x.x
git push origin master --tags
git checkout dev-4

パッケージの生成

~/Downloadsフォルダなどクリーンな環境で実施します。

《baserpackage.sh を利用する》 形式のファイルを、同階層の「basercms-バージョン番号.zip」「basercms-バージョン番号.tar.gz」として出力します。
※ x.x.xにはバージョン番号が入ります。

cd ~/Downloads
baserpackage.sh x.x.x

basercms-バージョン番号.tar.gz、basercms-バージョン番号.zipの生成を確認します。
2つの圧縮ファイルを解凍しVERSION.txtがリリースバージョンとして正しいか確認します。

devブランチを開発バージョンへ変更

devブランチでVERSION.txtの先頭のバージョン番号をx.x.x-devに変更し、メッセージを以下のように書いてコミットし、プッシュします。

git commit -m 'バージョンをx.x.x開発版に変更'
git push origin dev-4

4.リリース情報の作成

前提条件

  • MacOSXコンソールでの実施
  • git操作の基本知識
  • 上記を/usr/local/binなどPATHの通った場所に配置

作成対象

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

リリースノートの作成

https://github.com/baserproject/basercms/releases へ# ### ### ## # VERSION.txtを利用してリリース情報を作成します。
リリースまではdraftとして作成します。

機能一覧

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

アップデート方法

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

ダウンロード

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

baserCMSニュース リリースカテゴリ

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

開発貢献者の一覧を取得するには下記を実施します。
《コマンドの実行》 リリース予定までMergeされたbasercmsのリポジトリ直下で下記を実行します。
※ YYYY-MM-DDには前回リリース日の日付が入ります。

git log --after="YYYY-MM-DD" --pretty=format:"%an" |sort| uniq

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>
https://github.com/catchup-doi

公開前確認

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

5.リリース作業

作成対象

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

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

パッケージのアップロード

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

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

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

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

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

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

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

7. 告知

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

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

作成対象

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

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

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

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

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

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

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

Clone this wiki locally