win平台下持续集成

以前写的win平台下下载ftp更新服务端数据,相比Jenkins更自由

update.bat

@echo off
rem =====================================================================================
rem 变量延迟
rem setlocal enabledelayedexpansion


rem 第一次使用本脚本,需要设置下面所有的变量值
rem 设置好以后,只用每次使用前改一下补丁名字就可以了
set buding_name="20120122b"


rem 测试环境
set nd=2014
set disk=C:
set service_id=25
set oracle_passwd=root


rem 设置FTP的相关内容
set ftp=10.6.10.103
set username=administrator
set password=123456
set ftp_mulu="37L11"
set ftp_buding=%buding_name%.rar
set bendi_buding="%~dp0%ftp_buding:"=%"


rem 设置FTP文件和升级日志文件的存放地址为当前文件夹
set ftp_txt="%~dp0\ftp.txt"
set update_log="%~dp0\update.log"


rem 将FTP的相关内容写入ftp.txt文件
echo open %ftp%>%ftp_txt%
echo %username%>>%ftp_txt%
echo %password%>>%ftp_txt%
echo cd %ftp_mulu%>>%ftp_txt%
echo get %ftp_buding% %bendi_buding%>>%ftp_txt%
echo bye>>%ftp_txt%
rem =====================================================================================




rem 上面都是配置,下面正是开始,每一步都要写入update.log


echo 1、下载(%ftp_buding%)
rem 删除旧补丁
if EXIST %bendi_buding% del %bendi_buding%
rem 根据ftp.txt内容登录FTP,并且下载补丁
ftp -s:%ftp_txt% >%update_log%


echo 2、解压到当前文件夹
rem 删除旧文件夹
if EXIST %~dp0%buding_name% rd /s/q %~dp0%buding_name%
rem 解压到当前文件夹
"c:\Program Files\WinRAR\Rar.exe" x -t -o-p %bendi_buding%>>%update_log%


echo 3、复制bea到测试环境
rem 如果存在bea,就复制bea到测试环境
if EXIST "%~dp0%buding_name:"=%\02应用安装\bea" (
	xcopy "%~dp0%buding_name:"=%\02应用安装\bea" %disk%\bea /y/e)>>%update_log%


rem 修改升级脚本里面的bat,测试库只用升级 日期.bat、ctaisvpt.bat、rebuild.bat
rem 首先找是否存在升级脚本
if EXIST %~dp0%buding_name:"=%\03数据库脚本\升级脚本 (
	echo 4、升级脚本
	rem 找是否存在【日期.bat】
	if EXIST "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\%nd%*.bat" (
		for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\%nd%*.bat"') do (
			for /f "delims=" %%a in ('type "%%~fi"') do (
				set "foo=%%a"
                call,set foo=%%foo:oracle=%oracle_passwd%%%
				call,set foo=%%foo:produ=%service_id%%%
                call,echo/%%foo%%>>"%%~fi._")
		move "%%~fi._" "%%~fi")
	cd "%~dp0%buding_name:"=%\03数据库脚本\升级脚本"
	for /f %%i in ('dir /b %nd%*.bat') do (call %%i)
	)>>%update_log%
	
	rem 找是否存在【ctaisvpt.bat】
	if EXIST "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\ctaisvpt.bat" (
		for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\ctaisvpt.bat"') do (
			for /f "delims=" %%a in ('type "%%~fi"') do (
				set "foo=%%a"
                call,set foo=%%foo:oracle=%oracle_passwd%%%
				call,set foo=%%foo:produ=%service_id%%%
                call,echo/%%foo%%>>"%%~fi._")
		move "%%~fi._" "%%~fi")
	cd "%~dp0%buding_name:"=%\03数据库脚本\升级脚本"
	call ctaisvpt.bat
	)>>%update_log%


	rem 找是否存在【rebuild.bat】
	if EXIST "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\rebuild.bat" (
		for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03数据库脚本\升级脚本\rebuild.bat"') do (
			for /f "delims=" %%a in ('type "%%~fi"') do (
				set "foo=%%a"
                call,set foo=%%foo:oracle=%oracle_passwd%%%
				call,set foo=%%foo:produ=%service_id%%%
                call,echo/%%foo%%>>"%%~fi._")
		move "%%~fi._" "%%~fi")
	cd "%~dp0%buding_name:"=%\03数据库脚本\升级脚本"
	call rebuild.bat
	)>>%update_log%
)


rem 找是否存在数据处理脚本
if EXIST "%~dp0%buding_name:"=%\03数据库脚本\*数据处理脚本*" (
	echo =====有数据处理脚本,请发给相应人员升级)
	
rem 找是否存在报表模板
if EXIST "%~dp0%buding_name:"=%\04报表模板" (
	echo =====有报表模板,请发给相应人员升级)


rem 删除缓存文件
if EXIST "%disk%\bea\user_projects\dmctais\myserver\.wlnotdelete\extract" (
	rd /s/q "%disk%\bea\user_projects\dmctais\myserver\.wlnotdelete\extract")>>%update_log%


rem 输出日期时间
echo %date% %time%>>%update_log%
echo %date% %time%


rem 启动服务
%disk%
cd "%disk%\bea\user_projects\dmctais"
startWebLogic.cmd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值