web制作におけるSubversionによるバージョン管理(2) – インストール・設定

web制作 アプリケーション別 Subversion

広報:齊藤 メイ 広報:齊藤 メイ

Posted on 2009年12月09日(水)23:21


web制作におけるSubversionによるバージョン管理(2) – インストール・設定

今回は前回に引き続き、Subversionを利用したweb制作におけるバージョン管理方法に限定して解説します。 本日は、「web制作におけるSubversionによるバージョン管理(2) - インストール・設定」についてです。

こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「web制作におけるSubversionによるバージョン管理(2) - インストール・設定」についてです。

以下サイトを参考にさせていただきました。 貴重な情報に感謝いたします。

TortoiseSVNの使い方
ばーぶろぐ /var/blog: Subversionでコミット完了後に自動で処理を行う (post-commit)

今回はSubversionの他に、
  • PuTTY
  • TortoiseSVN
の解説も行います。
なお、PuTTYは初回限りの使用となります。web制作にあたってSSHクライアントを使用する場合は、Poderosaなど他SSHクライアントを使用しても問題ありません。

そして例のごとくで恐縮ですが、猫ITソリューションズにおける運用記述をそのまま書いてあるところがありますので、置き換えて参考にしてください。


Subversionのインストール・初期インポート

インストール



グループnobodyにsshログインユーザーを追加



確認



リポジトリ用ディレクトリ作成



リポジトリ作成



所有者をnobody、グループをnobodyに変更する

※猫ITソリューションズにおける運用で必要です。不要な場合はスキップしてください。


パーミッションを変更する。

※猫ITソリューションズにおける運用で必要です。不要な場合はスキップしてください。


初期インポート

-m はコミットコメント(必須)

PuTTYの設定

sshでのログインは他アプリケーションにて既に可能という前提(猫ITソリューションズではPoderosa)。 SubversionはPuTTY形式のSSH鍵しか認識しないらしいので、PuTTYから接続できるようにする。 なお、PuTTYの鍵とPoderosaの鍵は互換性がない。
よって
  • PuTTY用秘密鍵
  • Poderosa用秘密鍵
  • 公開鍵
    ※Poderosa(ssh.com仕様)記述にPuTTY記述を「追記」
という構成を採る。

ダウンロード&インストール

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  • PuTTY
  • PuTTYgen
  • Pageant


PuTTY用SSH鍵ペア(秘密鍵・公開鍵)を作成

PuTTYgen を実行。
SSH2 RSA を選択。
Generate マウスを適当に動かす。
パスフレーズを入力。
Save private key ボタンで PuTTY Private Key File (.ppk) として保存。
「Public key for pasting into OpenSSH authorized_keys file:」 覧に表示される文字列をコピーして、「key-putty.txt」としてローカルに保存
サーバー上(~/.ssh/)にも key-putty.txt として保存する。

ファイルの中身を公開鍵に追記

※Poderosa/PuTTY両方で共有出来るようにするため


接続テスト

PuTTY を実行。

Session - Host Name にリポジトリのあるホスト名を指定。

Connection - Auto-login username にリポジトリのあるホスト上のアカウントを指定。

Connection - SSH - Auth - Private key file for authentication: で 保存した ppk ファイルを指定。

Session - Saved Sessions にホスト名を入力して Save。

Open ボタンを押して接続確認。

パーミッション変更



SubversionクライアントTortoiseSVNのインストール

ダウンロード

※日本語化パックも併せてDLしておく
http://tortoisesvn.net/downloads

インストール後の設定

該当フォルダで右クリック、「TortoiseSVN>設定ネットワーク」を開く

「SSH」に
TortoisePlink -C -l ユーザー名 -pw パスワード -i putty.ppkへのフルパス

チェックアウト
※チェックアウトされて出来るローカルに生成されるフォルダは、
  • svn
  • public_html
の2つ。
チェックアウトする際に「このフォルダは空じゃないけどいいの?」と聞かれたが無視した。
svn+ssh://192.168.1.23/website/svn/repos/waku2traffics_test

使用・運用方法

基本的にTortoiseSVNの使用がメインとなります。 使ったことがない方は、TortoiseSVNについての本を一冊持っておく事をお薦めします。

入門Subversion Windows/Linux対応 上平 哲

入門Subversion Windows/Linux対応 上平 哲
1,244 円 (税込)
【30日間返品保証】商品説明に誤りがある場合は、無条件で弊社送料負担で商品到着後30日間返品を承ります。ご満足のいく取引となるよう精一杯対応させていただきます。※下記に商品説明およびコンディション詳細、出荷予定・配送方法・お届けまでの期間について記載していま..
楽天ウェブサービスセンター CS Shop

参考:
TortoiseSVNの使い方

基本的な操作の流れ

  1. リポジトリより最新のソースやドキュメントをローカルPCにダウンロードする (SVN更新)
  2. ソースやドキュメントをロックする (ロックを取得)
  3. ローカルPC上でソースやドキュメントを編集する
  4. ローカルPCでの編集をリポジトリに反映する (SVNコミット)
※同時にロックも開放されます。

追加:
ディレクトリやファイルを既存リポジトリに追加

インポート:
リポジトリへの追加(違いがうまく説明できない...)

使用者を増えすとき

  1. UNIXユーザー追加
  2. nobodyグループへ追加
    # usermod -G nobody ユーザー名

作業コピーを増やすとき

初回チェックアウト

リポジトリを増やすとき

  1. reposディレクトリ以下にリポジトリ用ディレクトリ作成
    # mkdir /website/svn/repos/hoge
  2. リポジトリ作成
    # svnadmin create /website/svn/repos/hoge
  3. 所有者をnobody、グループをnobodyに変更する
    # chown -R nobody:nobody /website/svn
  4. パーミッションを変更する
    # chmod -R 775 /website/svn

コミット時に指定した他の作業コピーもアップデートする

参考:
ばーぶろぐ /var/blog: Subversionでコミット完了後に自動で処理を行う (post-commit)

webサイト開発において、コミットすると編集している作業コピーとは別の作業コピー、 テストサーバーのドキュメントルートの全データも更新されると便利。
以下気をつける点
  • フックスクリプトを実行するユーザーを確認しておくこと。  
    ※猫ITソリューションズだとコミットしたユーザー「ユーザー名」だった。
  • 現在のumaskでは、ファイル生成時はパーミッション644になるが、umaskはむやみに変更しない方がいい(全ユーザー適用のため)
  • コマンド実行するときは実行権限,書き込み権限などを考えること
  • lsyncd/rsyncdのユーザーに注意すること
    ※rsyncdはnobody/nobodyでミラーリングさせているため、所有者root権限rootのみのファイルを作ってもミラーリングされない。
  • 負荷分散2サーバーには数秒~数分経たないとミラーリングされない。
    ※原因不明。post-commitのフックスクリプトに組み込んでもミラーリングされなかった
  • 上記のため以下のように設定してある。
    • rsyncdの実行グループ/ユーザーは、nobody/nobody
    • /website/waku2traffics_test 以下のファイル(svn含める)は基本的に、
       グループ:nobody
       ユーザー:nobody
       パーミッション:775
       にする。
       ただし775以外のファイルは個別設定すること。


sabineko/abyssinianで実行

グループnobodyにSVNユーザー(ここではユーザー名)を追加



フックスクリプトの作成


※以下はコメントアウトした方がいいかも。猫ITソリューションズではlog-commit.py については見つからないと言われた。


一度ドキュメントルートを丸ごと削除。

※もちろんSubversionに既に初回インポートが完了しているのが前提。


初回チェックアウト




あとはeclipse上なりで普通に作業ができる。 実際の動作は、
  • 対象ファイルにアクセスして見てみる
  • ログファイルを見る
で確認する。

いかがでしたでしょうか?
猫ITソリューションズは、飼い主の皆さんにITを活用しあらゆるシーンで的確なアドバイスをいたします。それではまたお会いしましょう。

web制作におけるSubversionによるバージョン管理(2) – インストール・設定

see you!

 



Blog Categories

Member Profile

広報:齊藤 メイ

埼玉在住の三毛猫です。趣味は日向ぼっこ、好きな猫缶はカツオ系です。仲良くしてくださいね!

Facebook
Twitter

代表:齊藤 智宏

埼玉在住のWebデベロッパーです。80's洋楽、映画、レトロゲームが大好きです。よろしく!

Facebook
Twitter