[centos-users 1578] リリース作業の自動化について

chororin_pon chororin_pon @ pets-mail.com
2011年 11月 28日 (月) 21:52:44 JST


皆さん、こんにちは。
田村と申します。

リリース作業を自動化出来るシェルがあればと思いましてご相談しております。

現在、本番機サーバにログインする際、踏み台にしているサーバ(以下、fumidai1と記載)fumidai1のディレクトリにリリースするファイルが置いてあります。
※ファイルの種類によって配置元(fumidai1サーバ)、配置先(本番機サーバ8台)のディレクトリは変わります。
例:htmlファイルをリリースするときは、/home/www/html
    plファイルをリリースするときは、/home/www/pl など。
※ファイルの数は1ファイル〜数十個のファイルになりファイル名も変わります。

そのファイルを、必ず本番サーバ”すべて”にアップする必要があり、本番サーバは8台あります。
内訳はxxx-11a、xxx-11c、xxx-11e、xxx-11g、xxx-11h、xxx-11i、xxx-11j、xxx-11lとなります。
※本番機サーバは今後増える可能性があります。

現在のリリース方法としましては、ファイルを一個一個手動でscpコマンドを使用し、fumidai1から本番サーバ(合計8台のサーバ全て)にファイルをアップロードし、確認作業としまして、本番サーバ(合計8台)のサーバすべてにログインし、ファイルが正常にアップドーロされているか確認しています。
※リリースするファイルが少ない時は、ssh $本番サーバ名 ls -l 配布先パス を使用しているのですが、ファイル数が多い場合は、すべての本番サーバにログインし確認しています。

これらの作業を可能な限り自動化できればと考えております。


今私が考えてる方法としましては、
1.サーバの台数は今後増える可能性があるので、汎用性を考え別途ファイルにサーバ名を保存し読み込むことは出来ないか。
2.リリースするファイルは、配置元、配置先が変更になるので、こちらも汎用性を考えて別途ファイルに保存し読み込むことは出来ないか。
3.ファイルが正常にリリースしたことを確認するために、rsyncなどのコマンドで確認作業を行うことは出来ないか。


私自身お恥ずかしい話ですがシェルの知識は持ちあわせておりませんので、もしも上記の条件で自動化できるシェルがあれば教えて下さい。

以上、よろしくお願い致します。



centos-users メーリングリストの案内