以下の技術を利用して、サーバへソースをアップロードしてリリースするバッチファイルを書いてみる。

release.bat

set PJT_DIR=C:\project\trunk
set APP_NAME=SampleApp
set RELEASE_NAME=SampleApp

:: TortoiseSVNを利用してソースの最新化
:: /closeonend:3 でエラー、競合、マージがなければ、ダイアログが自動で閉じられる。
call "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%PJT_DIR% /closeonend:3

:: 前回出力済みのファイルの削除
rmdir /s /q %PJT_DIR%\%APP_NAME%\%RELEASE_NAME%
del /s /q %PJT_DIR%\%APP_NAME%\%RELEASE_NAME%.zip

:: ビルド
call ant

:: ZIP化
"C:\Program Files\Lhaplus\Lhaplus.exe" /c:zip /p: /o:%PJT_DIR%\%APP_NAME%\ %PJT_DIR%\%APP_NAME%\%RELEASE_NAME%

:: サーバへアップロード
call "C:\Program Files\winscp\WinSCP.com" user@host /script=%PJT_DIR%\winscp_auto.txt

winscp_auto.txt
※処理内容:ZIPファイルの送信、リリース用シェルスクリプトの実行、ログファイルの取得

put C:\project\trunk\SampleApp\SampleApp.zip
call ./release.sh
option confirm off
get -delete release.log C:\project\trunk\SampleApp
exit