减少人为误操作、释放人力资源、提高开发效率

时间:2021-08-17 05:10:32

目前项目维护周期过程中,制作调试版本和对外颁布版本次数对照频繁,流程过于繁琐和随意,且打包制作人成为瓶颈,为了规范版本基线流程和实现全员自动化参预,拟定版本基线自动化方案。

2、方针:

版本基线自动化方案的实施,主要任务分为配置打点自动化,编译做包自动化,版本颁布自动化。主要方针是实现一键式做包和颁布,减少酬报误操纵、释放人力资源、提高开发效率。

3、环境:

软件环境:Windows Server 2012 R2

硬件环境:内存:8G 硬盘:100G

配置工具:处事端:VisualSVN-Server-3.5.3-x64  客户端:TortoiseSVN_x64_1.8.8.25755

做包工具:InstallShield 2010 / tar

传输工具:Xmanager4(Telent、SSH)

编译环境:两台虚拟机:Windows Server 2012 R2 / 普华3.0

编译工具:VS2008 / gcc

4、详细说明:

1)确定版本封版时间

迭代任务划分确定版本封版时间。

2)提交代码

上传代码前,首先完成模块自验,输出单元测试呈报,代码需要进行检视,由检视人完代码检视呈报,上传SVN时按指定格局填写信息(上传人,检视人,改削说明,改削日期),格局不正确,无法提交。尽量做到一个成果点只上传一次,强调一次性把工作做对。资料改削同样需要颠末检视才华上传。

3)锁定配置库

版本封版后,配置打点员*所有开发人员对配置库的写权限,锁定代码,同时在基线处事器上创建版本基线目录。

4)环境清理

基线处事器删除上一次检出的代码,编译处事器删除来自基线处事器上传的代码、本地编译生成的二进制文件和安置包。

5)代码检出

基线处事器通过SVN工具检出最新代码。

6)压缩上传

将代码压缩打包,上传至编译处事器制定目录下。

7)解压

将代码压缩打包解压至当前目录下。

8)代码编译

执行编译脚本,完成代码编译。

9)软件打包

Windows平台通过InstallShield工程实现软件打包,Linux平台通过tar工具实现软件打包。

10)上传版本基线库

安置包上传至基线版本库指定目录下。

11)取包自验

开发人员从基线库中取包自验,若无成果性问题,可通知配置打点员完成基线,若呈现问题,经讨论合议改削方案后,实施代码改削,完成自验后通知配置打点员单独开放代码提交权限,完成代码上传,基线流程返回锁定配置库流程。

12)版本基线

配置打点员将所有对外颁布内容进行打包,完成MD5校验,并将对应代码生存至SVN的tag目录下

5、流程图:

减少人为误操作、释放人力资源、提高开发效率

好了说了这么多开工吧,大抵思路:

1、cleanwork.bat: 环境的清理,断根上次自动化打包生成的姑且文件,并长途执行93处事器的打算任务>clean.bat;

2、build.bat: 挪用cleanwork.bat脚本,并将svn处事器ip为234中检出代码,操作WinRAR工具压缩;

3、copyrar.bat: 将压缩的文件操作共享的方法发送到编译处事器中ip为93,并长途执行93处事器的打算任务>main.bat;

4、main.bat: 执行93处事器的控制脚本,将将文件解压,

  4.1、alone_windows.bat: 执行编译脚本,这里我java给与的是ant工具编译,

  4.2、copyCinstall.bat: c给与的是vs,因为c这边的比来没怎么开发,所以我就直接将以前编译好的直接复制,

  4.3、启动installShield打包工具,进行打包,copysetup.bat: 将打包文件操作文件共享的方法发送到svn处事器中,并长途执行234处事器的打算任务>opensetup.bat,

5、opensetup.bat: 最后打开打包文件地址的位置;

build.bat

rem 检出代码,并压缩 rem dq rem 2018/02/11 @echo off set ResourceUrl=https://192.168.0.234/QHLDAP/src/6.0/trunk/windows set ResourcePath=D:\yb\QHLDAP\6.0\src\Windows set _winrar=C:\Progra~1\WinRAR\WinRAR.exe set svnUrl=https://192.168.0.234/QHLDAP/发货文件/6.0/trunk set _silent="D:\目录处事打点系统\V6.0\QH-LDAP_6.01.001\安置包\Windows" ::长途执行编译处事器中名为“cleanwindows_6.0”的打算任务,删除上次的文件 schtasks /run /s 192.168.0.93 /u administrator /p 123456 /tn cleanwindows_6.0 ::断根上次孕育产生的文件 call D:\yb\QHLDAP\6.0\windows\cleanwork.bat ::长途编译处事器 call D:\yb\QHLDAP\6.0\windows\runmstsc.bat if not exist "%ResourcePath%" ( ::正在检出代码... svn checkout --username "autoscript" --password "123456" -q %ResourceUrl% "%ResourcePath%" ) else ( :: 正在更新代码... TortoiseProc.exe /command:update /path:"%ResourcePath%" /clo搜索引擎优化nend:1 ) svn checkout --username "autoscript" --password "123456" -q %svnUrl% "%_silent%" rd /s /q %_silent%\.svn ::压缩文件,不压缩.svn文件 -a备份所有文件 -ep1 生存压缩文件的布局 -ibck为后台压缩 -R遍历 %_winrar% a -ep1 -R D:\yb\QHLDAP\6.0\src\trunk_win.rar D:\yb\QHLDAP\6.0\src\Windows\* ::复制文件 call D:\yb\QHLDAP\6.0\windows\copyrar.bat @echo on

cleanwork.bat