リリース手順

リリース担当者の作業手順。

共通手順

  • リリースに必要なタスク/テストの終了と、該当ブランチへの反映を確認する。
    • Redmineで、「対象バージョン」でフィルタリングしてチケットが完了していることを確認する。
  • masterにトッピックブランチがマージされていることを確認する
  • リリースノートは、変更点についてリリース担当者または各変更の担当者が書く。
  • PHPDocsを更新(再生成)し、コミットする。
    • PHPDocumentorの更新方法は現在まとめ中。更新用ツールを作りたい。

新バージョンリリース時

リリースツール使用時

sh make_release.sh 1.x.x

やってくれること

  • 指定したブランチ(デフォルトではmaster)からコードをダウンロード(git clone)してくる
  • リリースに必要なファイルを作成する

masterブランチから新しくリリースブランチを切ってリリースする。

リリースブランチとタグの作成、GitHubへの反映

  • masterブランチからリリースブランチとタグを作成し、GitHubにpushする。
$ git checkout -b x.x
$ git push origin x.x
$ git tag x.x.0
$ git push origin x.x.0

SourceForge.JPへのリリース物の反映

  • リリース対象のタグの内容でtar.gzを作成

gitとtestディレクトリを省く
productionモードにする

$ git checkout x.x (タグを指定してcheckout)
$ cd ..
$ tar czvf SetucoCMS_x.x.x.tar.gz SetucoCMS

Macだと、.DS_Storeが含まれてしまうので以下の方法で.DS_Storeを省く

$ tar czvf SetucoCMS_x.x.x.tar.gz --exclude ".DS_Store" SetucoCMS
  • 作成したSetucoCMS_x.x.x.tar.gzをSourceForge.JPにUp、時刻等を指定してリリース

過去のリリースのパッチバージョンアップ時

過去のリリースブランチ上に各開発者が作成したタグをリリースする。

SourceForge.JPへのリリース物の反映

  • リリース対象のタグの内容でtar.gzを作成

gitとtestディレクトリを省く

$ git checkout x.x (タグを指定してcheckout)
$ cd ..
$ tar czvf SetucoCMS_x.x.x.tar.gz SetucoCMS

Macだと、.DS_Storeが含まれてしまうので以下の方法で.DS_Storeを省く

$ tar czvf SetucoCMS_x.x.x.tar.gz --exclude ".DS_Store" SetucoCMS
  • 作成したSetucoCMS_x.x.x.tar.gzをSourceForge.JPにUp、時刻等を指定してリリース

注意するべきこと

以下のファイルが含まれていないかをチェックする。 もしファイルが存在すれば、削除する。

  • application.ini(application/configs/application.ini)