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 にリネーム