自动化工作之自动更新SVN

简介:



任务计划程序

任务计划程序是Window自带的组件

image

微软文档

http://windows.microsoft.com/zh-cn/windows-vista/automate-tasks-with-task-scheduler-from-windows-vista-inside-out

打开方法

方法一:开始菜单\ 控制面板 \管理工具 \任务计划程序

方法二:开始菜单\ 所有程序 \ 附件 \ 系统工具 \ 任务计划程序

image

在这儿可以创建任务,让它按我们的计划去做我们想做的事。

自动更新SVN

TortoiseSVN文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html

使用TortoiseSVN的TortoiseProc.exe进行更新SVN,

参考资料:http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-automation.html

tortoisesvn提供的api

XXXX\TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

实现代码

更新svn.bat

1、创建一个bat文件,命名为:更新SVN.bat 。内容如下:

复制代码
@echo off
@echo ================自动更新SVN Start===============
rem SVN安装目录
SET svn_home=D:\Program Files\TortoiseSVN\bin
rem SVN项目目录
SET svn_work=D:\Code\Unity3D\SVN\cosmosbox\cosmosbox
rem SVN日志目录
remSET setup_path=D:\
@echo 正在更新目录 %svn_work%
 
Echo 正在杀死进程...
rem excel和word如果打开状态,会导致不能正常更新,所以要把进程结束,我机器安装的是WPS
taskkill /f /im et.exe 
taskkill /f /im wps.exe
Echo 杀死进程完毕
 
 
rem 检查日志文件
rem if exist "%setup_path%"\autoUpdate.log (echo update: %date% %time%  >> "%setup_path%"\autoUpdate.log) else echo create: %date% %time% >"%setup_path%"\autoUpdate.log
 
rem 执行SVN更新命令,更新对话框不自动关闭
"%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work%" /notempfile /closeonend:0
echo ==============自动更新SVN Finish==============
pause
复制代码

创建计划任务.bat

2、再创建一个bat文件,命名为:创建计划任务.bat。内容如下

@echo 添加计划任务
rem 把"更新SVN.bat"和此bat放在同一目录,双击即可创建计划任务,每天7:00自动执行此bat
SCHTASKS /Create /SC DAILY /ST 07:00:00 /TN "自动更新SVN" /TR  "%~sdp0更新SVN.bat" /F
pause

运行方法

3、把1,2中创建的bat放在同一目录下,修改成自己的SVN和TortoiseSVN的安装目录。

双击 创建计划任务.bat ,在任务计划程序中查看任务是否创建成功

可能遇到的问题

4、双击 更新SVN.bat 查看是否能正常更新SVN,如果出现 Two top-level reports with no target   或 SVN跳过 错误不能更新SVN。

请检查bat文件中空格是否正确,把bat放置在SVN目录外,再重试。

 

同时更新多个SVN库

如果有多个SVN库,需要同时更新的话,

方法一:同时打开多个svn窗口进行更新

image

批处理脚本

复制代码
@echo off
Echo 正在杀死进程...
rem 把WPS相关的进程 Kill避免更新过程中lock
taskkill /f /im et.exe
taskkill /f /im wps.exe
taskkill /F /IM "TortoiseProc.exe"
Echo 杀死进程完毕

rem cosmosbox ,strikehero_art,cosmosbox , trunk 是四个不同的svn库
start TortoiseProc.exe /command:update /path:cosmosbox
start TortoiseProc.exe /command:update /path:strikehero_art
start TortoiseProc.exe /command:update /path:cosmosbox-op
start TortoiseProc.exe /command:update /path:trunk


rem参考 http://chevy.iteye.com/blog/1271797 
rem http://www.cnblogs.com/luomingui/archive/2012/09/09/2678045.html
复制代码

方法二:在同一个SVN窗口更新多个不同的SVN库

image

批处理脚本

复制代码
@echo off
@echo ================自动更新SVN Start===============
rem SVN安装目录
SET svn_home=C:\Program Files\TortoiseSVN\bin
rem SVN项目目录
SET svn_work_code=X:\xxgame\xx_code_vn
SET svn_work_gameres=X:\xxgame\xx_scheme_vn
SET svn_work_product=X:\xxgame\xx_product_vn

@echo 正在更新目录 %svn_work_code%,%svn_work_gameres%,%svn_work_product%

rem excel和word如果打开状态,会导致不能正常更新,所以要把进程结束(区分wps或office进程)
rem taskkill /f /im et.exe 
rem taskkill /f /im wps.exe
rem Echo 杀死进程完毕

rem 执行SVN更新命令,更新对话框不自动关闭
"%svn_home%"\TortoiseProc.exe/command:update /path:"%svn_work_code%*%svn_work_gameres%*%svn_work_product%" /notempfile /closeonend:0
echo ==============自动更新SVN Finish==============


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/4592063.html,如需转载请自行联系原作者
相关文章
|
测试技术 Apache 数据安全/隐私保护
|
3月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
91 4
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
76 4
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
115 1
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
67 4
|
3月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
3月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。