【Ruby】【bat】”デプロイ前の確認バッチ” の作り方
雨やだなー。
おしゃれが出来ないよ!
デプロイ前の確認バッチ
自分のサイトはアニメーションが流れるつくりだけれど、
開発時にいちいち見ているのは面倒。
でも「anime.js」をコメントアウトすることで、
アニメ終了後からの表示が出来てとても楽チン。
だけど問題がひとつ。
ユーザーの体験向上のためのローディング画面を追加したことによって、
デバッグ中はこのローディングdiv要素もコメントアウトしないといけなくなった。
つまり、開発中にコメントアウトするところが2箇所。
<div id="loadingWrap">...loading</div> <script src="js/anime.js" type="text/javascript"></script>
これは、デプロイのときコメントアウトを直し忘れてデプロイしちゃう可能盛大!
っていうか一回やっちゃったし。
ププ。
ということでデプロイ&デプロイ前確認 を行うバッチファイルを作成することで、
コメントアウトの直し忘れを防ぎます。
コード
バッチファイル
@ECHO OFF ruby push_deploy.rb IF %ERRORLEVEL%==1 ( pause exit ) FOR /F "delims=" %%a IN (mail.properties) DO ( set MAIL=%%a ) C:/google_appengine/appcfg.py --email=%MAIL% update C:/repositories/sekai-in-the-box
Rubyファイル
バッチコマンドで呼び出すRubyファイル
#check comment out index_file_path = File.dirname(__FILE__) + File::Separator + "com" + File::Separator + "index.php" File.readlines(index_file_path).each do |line| next if line.index("loadingWrap").nil? && line.index("anime.js").nil? raise "don't forget comment out" if line.index("<!--") end
ポイント
IO#readlinesメソッドでArrayオブジェクトが返るので、
eachを使って行数少なく書ける。
実行結果
エラーだとこんな感じで処理が止まる
これで大丈夫ー。