Web屋メモ

Web系エンジニアのメモです。

<< CakePHP バリデートの拡張 その2  Javascriptデータグリッド >>

スポンサーサイト

一定期間更新がないため広告を表示しています

- | - | - | 
blogram投票ボタン

Webアプリケーションの運用について

Subversion でソース管理する時、通常はリポジトリに下記の3つのディレクトリを作って管理するが、trunk以外の使い方がいまいちピンとこなかった。
trunk
branches
tags
特に、branchesがどう使っていいものか、、、
Apacheなんかだと、2.0系と2.2系が平行して進行してて、さらに1.3系もメンテしてるから利用シーンがイメージできるけど、Webアプリの場合、派生サービスができない限り、分岐はないでしょう。
そんなWebアプリの場合は、こういう運用するといいかも。
まず、Webアプリ実行環境は、次の4つの環境を用意します。
  • 本番環境
    本稼働している環境
  • プレ環境
    本番稼働と同等の環境で、本番リリース直前の試験用。接続DB等の設定は本番と同じ。
  • 開発版テスト環境
    開発最新版のテスト環境。接続DB等の設定を含めて本番とは切り離した環境。(めちゃくちゃなことをしてもOKな環境)
  • 保守テスト環境
    本番保守用のテスト環境。本番環境と同じバージョンの環境で、本番稼働バージョンにバグ修正が必要になった時のテスト環境。接続DB等の設定を含めて本番とは切り離した環境。

プレ環境は、リリース前に最終確認する為だけの環境なので、保守テスト環境が兼用するのもアリです。
もし、本番は既に稼働済みの場合、その本番環境の状態をそのまま branches にバージョンNo等のディレクトリ名でコピーしておく。
tags にもバージョンNo等のディレクトリ名でコピーする。

【開発版テスト環境】は trunk からチェックアウトして動作するように設定しておく。
【プレ環境】は branches の該当バージョンからチェックアウトする。
【本番環境】は tags の該当リリースタグからチェックアウトする。
【保守テスト環境】は branches の該当バージョンからチェックアウトして動作するように設定しておく。

リポジトリの構成はこんな感じ
├trunk
│  └app
├branches
│  ├Ver.1.0
│  │  └app
│  └Ver.1.1
│       └app
└tags
    ├Ver.1.0R
    │   └app
    └Ver.1.0.1R
         └app

開発の流れとリポジトリの関係はこんな感じ
                 Ver1.1開始
trunk   ──┼………………………┼───────┼────> Rev.
         │                 │コピー
branches   ↓コピー         バグ修正 │
  ├Ver.1.0  ●────┬………………………┼  ↓
  └Ver.1.1       │         │  ●─┼
tags            ↓コピー      │    │
  ├Ver.1.0R      ●         ↓コピー │コピー
  ├Ver.1.0.1R                ●    ↓
  └Ver.1.1R                      ●

    ├────┼────┼────┼────┼…………┼──> 時間
  (1)  (2)  (3)  (4)  (5)  (6)
開発開始 結合試験 Ver1.0   Ver1.1   Ver1.0  Ver1.1
     完了し、 リリース  開発開始  バグ修正 リリース
     プレ環境
     にコピー

  1. 開発開始(新規開発プロジェクトなら、この時点では trunk しかない)
  2. 結合試験が完了したら、svn copyコマンドでtrunkの内容をbranches/Ver.1.0にコピー→プレ環境をsvn switchコマンドで、branches/Ver.1.0に切替
  3. svn copyでbranches/Ver.1.0をtags/1.0Rにコピー→本番環境をsvn switchコマンドで、tags/Ver.1.0Rに切替
  4. trunk で開発
  5. branches/Ver.1.0を改修→保守テスト環境でテスト→svn copyでtags/Ver.1.0.1Rにコピー→本番環境をsvn switchでtags/Ver.1.0.1Rに切替
  6. (2)(3)と同様にbranches/Ver.1.1にコピー→プレ環境を切替→tags/Ver.1.1Rにコピー→本番環境を切替

という感じです。
Subversion | comments(0) | trackbacks(0) | 
blogram投票ボタン

スポンサーサイト

- | - | - | 
blogram投票ボタン

COMMENTS

COMMENT?

 
 
 


TRACKBACK

TB URL :: http://sir2.jugem.jp/trackback/20
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>
求人情報サイト[ InterNext Career] スカウト登録
no alt string