Skip to content
ゴンドー edited this page Jun 29, 2023 · 45 revisions

リリース前の準備

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

1.ベータテスト

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

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

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

2.リリース日の決定

PR締切日及びリリース日を決定します。
現在(2023年1月時点)では月に一度行われる開発ミーティングにてスケジュールを決定します。

3.リリース情報の確定

パッケージ内に含めるVERSION.txtに記載する情報を作成します。 システムの変更はすべてPRによって開発、マージが行われPRにはリリースバージョンのマイルストーンが紐づいています。 リリース予定のマイルストーンをすべて確認しVERSION.txtの記載情報が決定されます。 現在(2023年1月時点)では月に一度行われる開発ミーティングにて記載情報の決定します。

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

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

略称

改修タイプ

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

パッケージの省略文字

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

PRの取込

リリース日に決定したPR締切日からリリース日までに対象バージョンのPRの取込をお粉います。

リリースの実施

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

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

前提条件

  • MacOSXもしくはLinuxターミナルでの実施
  • git操作の基本知識
  • baserpackage.shの利用
  • 上記を/usr/local/binなどPATHの通った場所に配置

作成対象

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

作業内容

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

  • dev-4ブランチのVERSION.txtを更新
  • masterブランチへのマージ
  • バージョンタグの作成
  • リモートリポジトリへの反映

VERSION.txtの更新

VERSION.txt 1行目のバージョン番号をリリースバージョンに変更します。(例: 4.0.1-dev → 4.0.1)
作成したリリース情報をVERSION.txtに追記します。
リモートのmasterブランチへ反映します。

(例)
git checkout dev-4
git pull origin dev-4
# VERSION.txtを更新
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

※ baserCMS4のタグ名には接頭語にbasercms-が付随します
※ baserCMS5のタグ名には接頭語が付随しません

パッケージの生成

baserpackage.shを利用し「basercms-バージョン番号.zip」「basercms-バージョン番号.tar.gz」として出力します。

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

※ x.x.xにはバージョン番号が入ります

2つの圧縮ファイルを解凍しVERSION.txtがリリースバージョンとして正しいか確認します。

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

VERSION.txt 1行目のバージョン番号を次の開発バージョンに変更します。(例: 4.0.1 → 4.0.2-dev)

git add lib/Baser/VERSION.txt
git commit -m 'バージョンをx.x.x開発版に変更'
git push origin dev-4

2.リリース情報の作成

前提条件

  • MacOSXもしくはLinuxターミナルでの実施
  • git操作の基本知識
  • baserproject/basercmsのgithubコラボレーターアカウント

作成対象

  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のリポジトリ直下で下記を実行します。

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

※ YYYY-MM-DDには前回リリース日の日付が入ります。

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">加藤 朗</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>
<li><a href="https://github.com/catchup-doi" target="_blank">catchup-doi</a></li>
<li><a href="https://github.com/humuhimi" target="_blank">humuhimi</a></li>
<li><a href="https://github.com/fuchigam1" target="_blank">fuchigam1</a></li>
<li><a href="https://github.com/CUkomori" target="_blank">CUkomori</a></li>

3.リリース作業

作成対象

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

公開前にryuringに確認依頼を出し、確認が通ったらリリース作業を開始します。

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

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

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

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

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

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

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

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

5. 告知

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

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

作成対象

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

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

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

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

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

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

以上でリリースは完了です。

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

Clone this wiki locally