码迷,mamicode.com
首页 > 其他好文 > 详细

BAT脚本一键更新提交代码到线上

时间:2018-06-06 10:47:07      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:bat脚本   SVN更新   

如果你发现你每天都在做一件非常繁琐的事情那么必定能将他简单化操作!

发现:
当开发把代码提交到了代码服务器之后就没他们什么事情了,剩下的就是我们去将代码推送到线上服务器,这个过程并不复杂,但是非常的繁琐和无聊,首先我们要到开发的svn目录下面更新到最新的版本,再将推送的svn目录也更新一下,确保两个svn的目录是最新的,不然提交时有可能会出错,然后把开发svn目录复制到推送的svn目录下,并且提交,最后远程到推送服务器上进行代码拉取、推送
技术分享图片

简化:
一个bat脚本应该搞定的事情

@echo off  

#输入需要更新的站点文件夹名称
echo.请输入更新站点的ID:
set /p site_id=

#开发的svn代码目录
set exploit=E:\exploit\wwwuser\ciwebs\%site_id%
#推送的svn代码目录
set rsync=E:\rsync\wwwuser\ciwebs\%site_id%

#判断时候有这个文件目录
if exist %exploit% (  

    #更新开发的svn代码目录
    svn update "%exploit%"
    pause

    #更新推送的svn代码目录
    svn update "%rsync%"
    pause

    #将推送的svn代码删除,然后复制开发的svn代码
    del "%rsync%\*" /f /s /q /a
    for /f "delims=" %%i in (‘dir /ad /w /b "%m%"‘) do (rd /s /q "%m%\%%i")
    xcopy   %rsync% %exploit% /s /e
    pause

    #将推送的svn代码提交
    cd %svn818%
    svn add * --force
    svn ci -m ""
    pause

    #编写要远程执行的代码
    echo svn update /var/www/html/ciwebs/%site_id% > E:\svn_shell.txt
    echo cd /home/shell >> E:\svn_shell.txt
    echo %site_id% | findstr "^wap" >nul
    if %errorlevel% equ 0 (  
        echo "echo "%site_id%" ^> wap.txt" >> E:\svn_shell.txt
        echo sh up_t_a_wap.sh >> E:\svn_shell.txt

    ) else (
        echo echo "%site_id%" ^> ciwebs.txt >> E:\svn_shell.txt
        echo sh up_t_a.sh >> E:\svn_shell.txt
    )
    #远程到服务器执行编写好的命令
    putty -ssh root@59.188.240.145 19527 -pw TBMlIs,=2T3v[hbVgb#0~W(ILA0Hud -m E:\svn_shell.txt

) else (
    echo 警告:没有此站点的请求目录!
    pause
)

一切OK,从此可以喝着咖啡去更新推送代码~~~

BAT脚本一键更新提交代码到线上

标签:bat脚本   SVN更新   

原文地址:http://blog.51cto.com/13444271/2125337

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!