[研究]Jenkins 的 "執行 Windows 批次指令" 開始執行前,就花了 7 小時,如何加速 ?
2025-12-03
環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2
********************************************************************************
經過時間 00:07:30.04 <=== 發現 Jenkins 的 "執行 Windows 批次指令" 開始執行前,就花了 7 小時 40 分,如何加速 ?
建置成功。 "D:\Jenkins\workspace\Fortify_WebApplication1\WebApplication1\WebApplication1.sln" (預設目標) (1) -> "D:\Jenkins\workspace\Fortify_WebApplication1\WebApplication1\WebApplication1\WebApplication1.csproj" (預設目標) (2) -> (AspNetPreCompile 目標) -> ASPNETCOMPILER : warning CS1685: 預先定義的類型 'System.ObsoleteAttribute' 在全域別名的多個組件中都有定義; 使用 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\mscorlib.dll' 中的定義 [D:\Jenkins\workspace\Fortify_WebApplication1\WebApplication1\WebApplication1\WebApplication1.csproj] 1 個警告 0 個錯誤 經過時間 00:07:30.04 [Fortify_WebApplication1] $ cmd /c call C:\Users\ADMINI~1\AppData\Local\Temp\jenkins4235466723566878775.bat |
ChatGPT (敝人摘要)
- 關閉防毒 or 排除一些目錄 C:\Jenkins\workspace\... 和 Temp 目錄、、、
- 改用 SSD
- 增加 CPU、RAM
- Temp 裡檔案太多或磁碟 I/O 慢,刪除
del /q /f /s "C:\Users\ADMINI~1\AppData\Local\Temp\*.*"
- 太多 Jenkins Job同時執行 (敝人當下只有一個 Job)
- Workspace 在 NAS 或網路磁碟 (敝人不是)
- 剩餘HDD空間低,建議20GB
********************************************************************************
Jenkins 組態畫面這些參數用途 ? 移除會否更快 ?
Build a Visual Studio project or solution using MSBuild Command Line Arguments ? /p:DeployOnBuild=true /p:PublishProfile=FolderProfileDev |
ChatGPT
1️⃣ /p:DeployOnBuild=true
用途:
- DeployOnBuild=true 告訴 MSBuild 在 Build 完成後同時執行部署(Deploy)。
- 對 Web 專案(ASP.NET WebForm)常用於自動把建置產物拷貝到發佈目錄或 IIS 目錄。
對速度的影響:
- 會增加建置時間,因為不只是編譯,還會做部署動作(拷貝、設定發佈資料夾等)。
- 如果只是給 Fortify SCA 掃描程式碼,實際上 不需要做部署,可以移除加快速度。
2️⃣ /p:PublishProfile=FolderProfileDev
- 用途:
- 指定 Visual Studio 的 Publish Profile。
- 例如 FolderProfileDevLocal 通常設定了:
- 發佈目錄(Output Path)
- 包含/排除檔案
- 配置 Web.config 轉換
- MSBuild 在 Build 後會自動套用該 Profile 進行發佈。
- 對速度的影響:
- 同樣會增加時間,因為 MSBuild 會做額外步驟:
- 複製檔案
- Web.config 轉換
- 建立發佈資料夾結構
- 對 Fortify SCA 不需要部署的情況,這部分可以移除,節省幾分鐘甚至十幾分鐘。
🔹 總結建議
可以移除。
(完)
相關
沒有留言:
張貼留言