以前の職場では、プロジェクトの規模が超大規模ということもあり、一般的なPCでリビルドするのに2時間も掛かってしまうほどでした。通信速度の遅さも相まって、VSSからの取得時間を含めると合計4時間程という環境でした。
1ファイルの差分ビルドでさえ15分は掛かっていました(その後PCが改善されリビルド自体は1時間に短縮されました)。
その為、深夜にディリービルドを走らせておかないと、最新バージョンのソースコードでお仕事するまでに、9時出社で実機に転送できるようになるのが13時というチープな状況でした。
現在の職場では、最新マシンにリプレースしたことによって、ビルドに時間が掛かる事がなくなったため、ディリービルドの運用はやらなくなりました。
@echo off REM ################################## REM ## REM ## Daily Build Batch REM ## REM ################################## REM ################# REM ## 設定などなど REM ################# REM # ビルドしたり開発したりするディレクトリ SET WORK_DIR=d:\develop\workdir REM # Visual Source Safe設定 SET VSS_DIR="C:\Program Files\Microsoft Visual Studio\VSS\win32" SET SSDIR=\\hoge_server\vss SET SSUSER=ch3cooh_id SET SSPWD=ch3cooh_password SET PROJECT=$/project REM # Visual Studio設定 SET VISUALSTUDIO_DIR="C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE" REM ################# REM ## 前処理 REM ################# SET orgPath=%path% SET path=%path%;%VSS_DIR%;%VISUALSTUDIO_DIR% SET _DATE_=%date:~-10,4%%date:~-5,2%%date:~-2,2% SET TIME_REPLACE=%time: =0% SET _TIME_=%TIME_REPLACE:~0,2%%TIME_REPLACE:~3,2% SET DEST_DIR=%WORK_DIR%_%_DATE_%_%_TIME_% REM ################# REM ## コピーフェーズ REM ################# echo コピーします... echo 送り元: %WORK_DIR%\ echo 送り先: %DEST_DIR%\ mkdir %DEST_DIR%\ xcopy %WORK_DIR% %DEST_DIR% /S /Q /Y REM ################# REM ## 削除フェーズ REM ################# echo 削除します... cd %WORK_DIR% del /F /S /Q %WORK_DIR%\*.* REM ################# REM ## VSS取得フェーズ REM ################# echo VSSから最新の環境を取得します... echo 取得先: %WORK_DIR%\ ss get "%PROJECT%" -R -I-Y -GL"%WORK_DIR%" REM ################# REM ## ビルドフェーズ REM ################# echo projectのビルド中... devenv.exe %WORK_DIR%\project.sln /build Debug /out %WORK_DIR%\project.log REM ################# REM ## 後処理 REM ################# SET path=%orgPath%