REM 自动从github部署rails的脚本 REM 脚本用的是JRUBY,根据实际需要请调整path即可。 REM 请把本脚本文件放在RAILS程序所在的目录即可。 @echo off %~d0 cd %~dp0\ set path=%path%;C:\Program Files\Git\bin;D:\jruby-1.6.7\bin set JRUBY_OPTS=--1.9 REM 由于gemfile.lock在更新的时候,可能引起冲突,因此先删除 del Gemfile.lock REM 从server更新并检查是否有更新,有的话,先停止RAILS程序,避免个别文件更新失败 REM Windows下部分调用的是git.cmd导致一些命令返回有问题,所以强制用 git.exe 调用 git.exe fetch origin git branch -a --no-merged | find "remotes/origin/HEAD -> origin/master" if %errorlevel% == 0 taskkill /f /im:jruby.exe REM 更新代码到本地,并检查是否有更新 git pull | find "Already up-to-date." if %errorlevel% == 1 ( REM 有更新,更新和安装GEM,可以在这里做其他的事情,如启动Cucumber cmd /c bundle install ) REM 检查是否已经运行RAILS程序,没有的话,启动RAILS程序 tasklist | find "jruby.exe" if %errorlevel%==1 ( cmd /c bundle install REM 生成启动rails的临时批处理,由于rails会阻塞,因此临时批处理启动新窗口避免阻塞 echo @rails s > rail.bat echo @exit >> rail.bat start cmd /c rail.bat ) exit