svnの運用に関する質問です。


svnでwebシステムのソース管理をしたいと思っているのですが、svnを利用するのは
今回が初めてなので、svnを利用したソース管理について以下2点ご質問させて下さい。

■1. svnの運用方法は以下の手順で間違いないでしょうか
1) リリースブランチを作成して開発
2) 開発が完了した時点で公開するリリースコードをtagsディレクトリにコピー
3) web公開ディレクトリにcheckoutするのはtagsディレクトリのリリースバージョン
4) 公開ディレクトリのリリースバージョンを上げるには、公開ディレクトリでsvn switchを
して新たなバージョンのtagsディレクトリのリリースファイルに変更(switch)する

■2. webシステムという性質上、小まめなバグ修正やバージョンアップを気軽に
おこなえる運用方法を実現したいのですが、svn switchをしている最中にユーザーが
アクセスしてきてもwebシステムを稼働し続けることは可能でしょうか。
(scpやftpでアップしても何マイクロ秒とかのレベルでは問題が発生する可能性は
あるかと思うのですが、svn switchをする為だけにメンテナンス状態にする必要が
あるレベルかどうか、ということです)

ご回答宜しくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/04/05 04:40:29
  • 終了:2008/04/12 04:45:03

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/04/05 10:05:53

ポイント47pt

■1. svnの運用方法は以下の手順で間違いないでしょうか

運用方法は web システムの開発スケジュール等にもよるので多種多様です。

提示されている方法は一般的に採用されている方法のひとつではありますが、

それで無いといけないというわけではありませんし、ベストかどうかもこちらではわかりません。

このあたりのノウハウは、Web+DB Press vol39 が詳しかったです。

WEB+DB PRESS Vol.39|gihyo.jp … 技術評論社

一応別案としては、手順1を

  • 1.1.Trunk にて開発。有る程度安定したところでリリースブランチを作成。

同時に tag を打つ

  • 1.2.リリースバージョンの小まめなバグ修正についてはリリースブランチで対応& tag 作成

バージョンアップに対しては主に Trunk にて開発。有る程度安定したところで別のリリースブランチを作成。


という手順も考えられます。


■2. webシステムという性質上、小まめなバグ修正やバージョンアップを気軽に

おこなえる運用方法を実現したいのですが、svn switchをしている最中にユーザーが

アクセスしてきてもwebシステムを稼働し続けることは可能でしょうか。

webシステム 自体の特性によります。

svn switch でやっていることは単なる個々のファイルの書き換えなので、ftp/scp と

webシステム から見ればは大差ありません。ただ、どちらもマイクロ秒よりは時間がかかっていると思いますが。


Perl, PHP などのスクリプト系であれば、一瞬のバージョンの不整合はあるでしょうが

ほとんど気づけないレベルで済むでしょう。


どうしても厳密にやりたければ、別ディレクトリにリリースタグの付いたバージョンを checkout し、

checkout 完了後、ディレクトリ名変更により稼動中のファイルと入れ替えます。

ディレクトリ名変更の動作はアトミックなので、バージョンの不整合は起こりません。

id:tomoyuki28jp

いつもご回答ありがとうございます。

詳細なご説明を頂いてとても参考になりました。

いるか賞有力候補です。

今後とも宜しくお願いします。

2008/04/05 14:10:29
id:ken33jp No.2

ken33jp回答回数928ベストアンサー獲得回数132008/04/05 11:35:57

ポイント23pt

TortoiseSVNのようなSVNクライアントを利用したほうが

便利だと思うのですが・・。

id:tomoyuki28jp

今回の質問はレポジトリの運用方法の話で、クライアントに何を利用するか

ということは疑問に感じておりません。

ご回答ありがとうございました。

2008/04/05 14:11:35

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません