2009-04-03 6 views
0

私は開発、ステージング、プロダクションサーバ環境をいくつかの開発者と一緒に使用しています。セキュアなSVNリモートアップデートポストコミットフックを探しています

今私たちは変更を行い、devサーバ(パーソナルコンピュータ)でそれらをテストしてから、変更がうまくいき、クライアントまたは内部のレビューに表示したい場合、リポジトリへの変更をコミットし、ステージングサーバsamba(tortoiseSVN)またはssh経由の作業コピー。

これは本当に面倒で繰り返しです。私はポストコミットのフックをリモートステージングサーバーを更新するが、唯一のオプションはSSHのフックにユーザーの信用をハードコーディングするか、ユーザーアカウントでネットワークマウントを作成することが含まれているようだ。最初のコミットからステージングサーバーにユーザー認証を渡して更新やその他の提案を行う方法はありますか?

その他のセットアップソリューションを歓迎します。

答えて

3

ユーザのSSH認証情報をスクリプトにハードコードすることが心配な場合は、パスワードなしでSSH鍵ペアを作成できます。使用するようにフックスクリプトを変更

command="/usr/bin/svnserve -t" ssh-dss <key text> 

:先のマシンでは、同様に、SSH認証鍵ファイルの先頭に

command="/path/to/svnserve -t" 

を追加することでSubversionを実行するだけにその鍵ペアを制限することになるでしょうこの鍵はログイン用で、従来のパスワードなしのSSH鍵より(わずかに)セキュリティが強化されます。

1

ステージングサーバーでCruiseControl(http://cruisecontrol.sourceforge.net/)のような自動システムを使用することを検討しましたか?

CruiseControlは、新しいチェックインがあるかどうかをチェックし、ビルドを開始するように設定できます(通常は最初の手順でチェックアウトします)。あなたも、別の枝を監視し、自動化された統合とリリースがチェックインの変更を持っている枝によってビルドを行うことができます

私達は私達のビルドを自動化するために非常にsucessfullyここでそのイディオムを使用しています。

+0

私はそれを覚えておいていただきありがとうございます。私たちのプロセスにはビルド/テストの部分がないために多少なりともかもしれませんし、svnの更新を行い、ファイルをサーバに渡す必要がなくなり、ステージングサーバを見直している人がコミット後にもっと即座の結果を得られるようにしたい – joelpittet

関連する問題