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

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

发现:
当开发把代码提交到了代码服务器之后就没他们什么事情了,剩下的就是我们去将代码推送到线上服务器,这个过程并不复杂,但是非常的繁琐和无聊,首先我们要到开发的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 [email protected] 19527 -pw TBMlIs,=2T3v[hbVgb#0~W(ILA0Hud -m E:\svn_shell.txt

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

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

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

时间: 2024-10-06 07:48:28

BAT脚本一键更新提交代码到线上的相关文章

python web 开发——pycharm 提交代码到 GitHub上

1.下载git 并安装:https://git-scm.com/downloads 这里安装的是 Windows版本的 2.注册 gitbub 账号 ,这里就不介绍了 3.创建一个SSH  keys 打开  git bash ssh-keygen -t rsa -C "your email address" 4.按照这个路径找到这些文件 5.打开下面这个文件,得到类似于这些东西 6.去GitHub 上,的setting 中  new SSH  key 9.打开pycharm 配置git

【效率工具】SSH一键登录脚本(可一键从跳板机登录线上服务器)

说明 前阵子上线,一次性上了十个服务,一直上到凌晨才完事,期间每个服务都要先输入跳板机的登录信息来登录跳板机,然后再输入线上服务器的信息来登录线上服务器,实在是太过于麻烦,而且有些服务还有好几台服务器,检查问题的时候,服务器跳来跳去的,简直苦不堪言. 于是,便萌发了用shell脚本的方式来一键跳转的想法,先上github上搜了搜现成的轮子,发现都不太好用,要不就是没说明,要不就是只能登一台服务器,不能满足从跳板机A跳转到线上服务器B的需求. 所以,还是自己动手,丰衣足食. Shell脚本 She

如何在Idea提交代码到Github上

一,配置账户 1. Setting >> Version Control >> git,配置git的安装目录(一般默认识别),其他参数不变 2.配置GitHub账户,输入GitHub账户/密码 二,提交代码到Github 1.CVS >> import into version control >> share project on github(用于第一次提交到GitHub) 原文地址:https://www.cnblogs.com/asunwei/p/9

git克隆/更新/提交代码步骤及示意图

  1. git clone ssh://flycm.intel.com/scm/at/atSrc 或者git clone ssh://flycm.intel.com/scm/at/atJar 或者git clone ssh://flycm.intel.com/scm/at/atFramework 2. git checkout cpeg/scm/stable 切换分支,然后更新代码 3. git pull 先把远程分支上最新的代码拉到本地,之后在做相应修改 4. git status 查看本地

(.DS_Store)避免多人提交代码到GitHub上起冲突

在多人合作的项目里,git pull origin master执行完之后出现以下问题: Auto-merging .DS_Store CONFLICT (content): Merge conflict in .DS_Store Automatic merge failed; 原因是.DS_Store这样的文件在项目提交时需要忽略掉. 忽略步骤: 1.touch .gitignore 创建一个文件, open -e .gitignore 把配置内容粘贴上传,然后保存.(内容是https://w

不要提交代码到HEAD上

昨天为了修改代码,所以checkout 当时打包的分支,然后定位修改,但是发现自动切换为HEAD分支,没有在意,发现提交后,代码消失了. 然后怎么找也找不到了.什么git branch , git log 都没有 后来查资料发现是detached HEAD 这个分支是没有挂在任何分支下面,所以我的修改也不会有显示.当时我就灰心冷意.打算重新写代码了. 可是我运气太好了.我竟然搜出了解决方案,本以为永远丢失了. git reflog show HEAD http://blog.csdn.net/r

eclipse 中 svn 更新 提交 同步资源库 详细解释下他们的功能

原理是这样的 svn服务器一般放在公共的服务器上,大家连这个服务器,在MyEclipse上使用svn控件 可以下载svn上的项目至本地,所以很多公司将开发要用到的软件都放在svn上,有同事来只要连上svn 就可以把需要的东西下下来了 更新是指 服务器上变动了的 而你本地没有变动,需要你更新, update更新 提交是指 服务器上没有的,也就是你改过的东西,你需要将代码提交,其他同事更新你的代码 commit 提交 同步,是在更新提交之前做的工作,更新提交前先同步,可以知道哪些东西要提交哪些东西要

OpenStack提交代码的review流程

本文整理向openstack社区提交代码的基本流程,以及社区一些介绍资料.如有转载,请注明出处! 先放张图说明一下OpenStack的code review的大体流程: 对OpenStack提交代码更改的流程主要如下: 配置Git与Gerrit环境 克隆目标项目的代码并在新branch上进行更改 commit到本地的repo后推送给远端Gerrit,然后由reviewer给出意见 根据reviewer的修改意见不断更新patch 其中OpenStack使用Gerrit作为代码review系统,使

Node.js线上服务器部署与发布

第1章 课程预热对整个部署思路进行全流程介绍,通过 5 个不同类型项目,来演示从本地的仓库到最终线上稳定运行的整个项目部署发布流程,来帮助始终编程在一线的前端或者后端工程师,甚至是有 Coding 能力的产品经理,从操作流程和架构形态上,掌握从零开始的项目上线环节,掌握这关键一步,跨过去前端到后端,本地到线上,开发到生产...1-1 为什么是全栈最后一公里1-2 搭建线上生产环境需要做什么 第2章 待部署的 5 个本地 Nodejs 项目分别介绍五个技术架构和产品形态的项目背景,一个 Nodej