注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

珠海渔郎之电子网档

项目管理 + 程序开发 + Delphi + 电脑应用 + 数码 + 进化感悟

 
 
 

日志

 
 

自动从github部署rails的批处理  

2012-05-17 17:04:42|  分类: 研发管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Windows 下自动从github更新源代码并运行rails的批处理,适合做自动部署用,把下面代码保存成批处理文件,然后创建一个计划任务自动定期运行即可。
For Windows + Git + Github + Rails
请先安装git,并使用ssh key连接github,以便做到自动化

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程序,避免个别文件更新失败
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


  评论这张
 
阅读(300)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017