2014年6月10日火曜日

本番環境と開発環境の区別をつけるためのあれこれ

ファイルに書き込むという方法

分かりやすいが、リポジトリ管理がしにくい。リポジトリ管理をしないで済むように、リポジトリ上は、ignore設定するという手もあるのだが、リポジトリを全部持ってきてすぐ動くというのができたらやりたい。

環境変数に書き込むという方法

ファイルには存在しないのでいいような気もするが、環境変数に値をセットするというファイルはどこかにあるはずでそれはやっぱりリポジトリ管理をしたい。

ファイルパスで管理するという方法

ファイルのフルパスが
/nfs
で始まっている時には本番環境扱いでその他は開発環境扱いというのも便利。
フォルダ名の命名規則がしっかりしていれば割りといい線いってるかもしれない。
phpとかだと
if(strpos(__FILE__,"/Users/")!==false){
とかだと、Macっぽいパスで管理してるよねーって話。理想的には、

OSの違いで管理するという方法

本番サーバはさすがにUnix系で、開発はMacやWindowsということは多い。大概の開発言語はOSを取得する関数はある。CentOSだったり、Darwinだったり、

ドメイン名で管理するという方法

一見するとこれが一番良さそうだが、コマンドラインやcronから起動するときにはドメイン名という概念がそもそもない。

ローカルホスト名で管理するという方法

hostnameコマンドで帰ってくるホスト名なら、コマンドラインからでも取得できる。
しかしながら、今度はWebサーバが複数台になるとホスト名も複数パターンあり得る。

0 件のコメント:

コメントを投稿