複数人でのバージョン管理時のサーバー保守について質問です。
svn・gitなどの種類は問いませんが、公開サーバーとテストサーバーという環境があり、それとは別に開発者全員のローカルに開発環境があるとします。
通常はそれぞれの開発環境(ローカル)で、制作・プレビューをし、pushあるいはcomitを行うと思います。
公開サーバーの仕様を変更する際、同時にテストサーバーや複数の開発サーバーにも同様の変更をする必要がある場合(たとえばphpライブラリのインストールなど)、これを手作業でサーバー台数分修正するのはとても骨が折れることが想像できます。たとえば、開発者が10人いる場合、それぞれのPC台数分
の設定が必要になります。
このような状況時、一般的にはどのような方法で、公開サーバー、テストサーバー、ローカル開発サーバーの仕様同期を維持していくのでしょうか。
みんなの回答 6 件
最近はChefが流行ってるんじゃないですかね。
使ったこと無いのでどのくらい簡単に導入できるかは分からないけど、想像するにすでに構築済みのサーバー郡に途中から導入ってのは、手間かかりそうな予感はしますね。
手動でやる手間とこういう仕組みの導入コストを天秤にかける必要はあると思います。
Rubyist Magazine - Chef でサーバ管理を楽チンにしよう! (第 1 回)
http://jp.rubyist.net/magazine/?0035-ChefInDECOLOGpdshや、findとxargs の組み合わせって方法もあるみたいですね。サーバのバージョンが古くて、そういうのが使えない人は、自分でスクリプトを書いてる例もある模様。
PEARのライブラリも手動でincludeしてgitで管理しています。
コマンドラインで管理しているとズレるし面倒なので。
最近はJenkinsが流行りのようですが、あれは自動テストとか用途が違うのかな。
どなたかrsyncでやってる方いらっしゃいますかね?
公開、テスト、ローカルのOSやそのバージョンなどが元々バラバラなら別々に管理するしかないんじゃないでしょうか。
全て全く同じ環境であればライブラリがあるディレクトリをrsyncしても大丈夫な気もしますけど。
ローカル環境廃止して、全員テストサーバにsshログインして開発というのはどうでしょうか?
関連するトピックス