アウトプットができる技術者に

it's a time to take a new step !

Batch処理 ディレクトリ構造を考える

適当にディレクトリ作ってたら、リリースの時にいろいろめんどい。。
ってことに気づいたので、今後のために少し考える

実現したいこと
  • job 単位ごとにリリースして version 管理したい(1ファイルだけリリースとかしない)
  • csv と log は リリースして version up した際に、新しい version に引き継ぐ
  • 他の job との依存性チェック
構成
job_name
|- bin
|  |--- execute.sh <- main となる shell は execute.sh
|  |--- sql/
|  |--- awk/
|
|- test/ 
|  |--- execute.sh
|  |--- test_xxx.sh
|  |--- tmp/
|
|- conf/ 
|  |- rivision.txt   <- rivision 情報を格納 svn info とかの結果
|  |- dependency.txt <- 他の jobとの依存情報を格納
|
|- tmp/
|- csv/  <- NFSとか容量が大きいところに symbolic link
|- log/  <- 同上
上記構成でのリリース手順の想定
  • svn から job_name 以下を job_name_exp として export
  • svn info コマンドで conf/rivision.txt を生成
  • conf/dependency.txt を check して依存性をチェック
  • job_name_exp と job_name を比較して、差分が想定通りなことを確認
  • job_name を 削除
  • job_name_exp を job_name にリネーム