温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-13 12:43:05 来源:网络 阅读:1852 作者:KJ_老君丶 栏目:系统运维

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

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

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

@echo off  

echo.请输入更新目录:
set /p dir_id=

#设定开发的svn本地代码路径
set exploit=C:\web\trunk\ciwebs\%dir_id%
#设定推送的svn本地代码路径
set rsync=C:\svn818\wwwuser\public_html\ciwebs\%dir_id%

#判断路径是否存在
if exist %exploit% (  

    #使用'svn update'语句更新开发的svn本地代码
    svn update "%exploit%"
    pause

    #使用'svn update'语句更新推送的svn本地代码
    svn update "%rsync%"
    pause

    #强制删除推送的svn本地代码
    del "%rsync%\*" /f /s /q /a
    #遍历开发的svn本地代码,并将其复制到推送的svn本地代码处
    for /f "delims=" %%i in ('dir /ad /w /b "%m%"') do (rd /s /q "%m%\%%i")
    xcopy   %web% %svn818% /s /e
    pause

    #进入推送的svn本地代码路径下将其提交
    cd %svn818%
    svn add * --force
    svn ci -m ""
    pause

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

#将shell命令输出到一个文本下
echo svn update /var/www/html/%dir_id% > E:\svn_shell.txt
echo cd /shell >> E:\svn_shell.txt

echo.请输入更新推送的ID:
set /p site_id=

#查询site_id中是否存在wap字符串
echo %site_id% | findstr "wap" > nul

#判断查询结果是否等于0
if %errorlevel% equ 0 ( 

    echo echo %site_id% ^> wap.txt >> E:\svn_shell.txt

) else (

    echo echo %site_id% ^> pc.txt >> E:\svn_shell.txt

)

#连接到服务器执行文本的内容
putty -ssh root@192.168.1.100 22 -pw 123456 -m E:\svn_shell.txt

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI