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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章