リリース運用方針 - GTNDYanagisawa/million GitHub Wiki

リリース運用方針

概要

リリース運用を含めた、GITと環境(GAE) の運用方針について。

※Cacooへのログインが必要です。

環境

ブランチ、Jenkins、環境(GAE)の関係について以下に示す。

https://cacoo.com/diagrams/vhSVdnCYgMlGLjZ7-21704.png

運用方針

運用イメージ

https://cacoo.com/diagrams/vhSVdnCYgMlGLjZ7-1608A.png

Deployは基本的に、Jenkinsにて行われる。

本番環境については、Jenkinsから手動で実行することにより反映を行う。

開発環境構築

python

gae で使用するpython のバージョンは2.5にして下さい。

github のアカウントを登録

github のアカウント登録を行う。 開発者にアカウントを伝え paquiao の Team に加えてもらう。

ローカルのリポジトリを作成

開発フロー

表記について

記号 説明
[Is] Issuesへの操作を表す
[R] Repositryへの操作を表す
[S] ソースコードへの操作を表す
[G] GAE環境での操作を表す

通常対応(Issues対応&新機能開発)

通常の開発のフローを示す。

新機能開発の場合においても、Issuesを起票してもらうことを前提とする。 (マージ作業に関しては マージ を参考にして下さい。)

Issue 対応者 Issue 起票者
  [Is] Issuesを起票
  [Is] 対応者をアサイン
[R] masterからIssuesの番号にあったブランチ(例:iss433)作成  
[S] ソースコードを修正  
[R] ブランチ(iss433)をdevelopへマージ  
[G] http://pacuiao.develop-bbt757.com/にて確認  
[Is] 起票者をアサイン  
  [G] http://pacuiao.develop-bbt757.com/にて確認
  [Is] 対応者をアサイン
[Is] リリースバージョン(例:ver1-4)確認  
[Is] 対象Issuesをリリースバージョンのマイルストーンに移動 [1]  
[1] マイルストーンがなかった場合は作成

リリースフロー

リリース準備

Issue 対応者 リリース対応者
[Is] リリースバージョンのマイルストーンを確認  
[R] 対象となるIssuesのブランチをstagingにマージ  
[R] stagingに対象となるIssuesへの対応が入っているか確認  
  [G] GAEコンソールでlesson757test、lesson757sandboxの最も古いバージョンを削除する
  [S] stagingでapp.yaml のバージョンをリリースバージョンに変更
  [G] GAEコンソールでlesson757testのデフォルトバージョンをリリースバージョンに変更
  [G] http://pacuiao.staging-bbt757.com/で最終確認
  [R] developへマージ
  [G] GAEコンソールでlesson757sandboxのデフォルトバージョンをリリースバージョンに変更
  [R] バージョンと同名のタグをstagingへ打つ(source tree を使用する場合「プッシュするタグ」にチェック)

リリース

リリース対応者
[R] masterをリリースバージョンのタグのバージョンへリベース後、プッシュ。
[G] GAEコンソールでlesson757の最も古いバージョンを削除する
[J] Jenkinsの"Pacquiao Update Lesson757"のビルド実行
[G] GAEコンソールでlesson757のデフォルトバージョンをリリースバージョンへ変更
[G] 確認

リリース申請/告知

(仮にリリースを木曜日とした場合に、時系列で書いてあります。)

・月曜日
1)リリース内容をリリース申請に記録して提出(担当者)

 1-1) リリース予定のIssueについてを、Google Docsにまとめる。
    ※リリース内容まとめ verXXXというドキュメント
    ※各自リリース予定となるIssuesの担当者が記述。
 1-2) まとめ後、リリース申請を提出
    ※リリース申請の記載項目については以下を参考に。

2) リリース内容をレビュー(原ほか1名)

・火曜日
3)関係先へのリリースノートの送付

・木曜日
4) システムの朝の会でリリース告知
5) リリース作業
6) リリース後の動作確認
7) リリース完了報告

リリース申請書

項目 内容
標題 システム変更申請
変更予定日 リリース日
作業予定時刻 リリースの作業予定時刻
変更詳細 Google Docsにまとめた内容
変更担当者 リリース担当者
対象サーバ (空欄)
変更作業内容 (空欄)
変更における注意すべきポイント (空欄) ※ただし、変更後に特別な確認事項がある場合は記述
他アプリへの影響/考えられるリスク/心配毎 (空欄) ※何かあれば?
バッチの無効化 要/不要 (空欄)
動作確認方法 (空欄)
参考資料 (空欄)
復旧手順 App Engine管理画面から前バージョンへ差し戻し
その他 (空欄)
⚠️ **GitHub.com Fallback** ⚠️