[Jenkins]腳本以及壓力測試部分研究

[Jenkins 腳本第一階段設定內容記錄]
目前實行結果:
串接github上傳專案,存放至Jenkins目錄下進行測試腳本,並開發兩種類型unit test(成功+失敗)與施行建置產生測試report紀錄


[目前Console Output內容]

失敗終端機輸出

20:47:19 由使用者 admin 啟動
20:47:19 建置中 工作區 C:\Jenkins2-150-1\workspace\MyJenkinsRepo
20:47:19  > git rev-parse --is-inside-work-tree # timeout=10
20:47:20 Fetching changes from the remote Git repository
20:47:20  > git config remote.origin.url https://github.com/Ya-wenWu/MyJenkinsRepo.git # timeout=10
20:47:20 Fetching upstream changes from https://github.com/Ya-wenWu/MyJenkinsRepo.git
20:47:20  > git --version # timeout=10
20:47:20  > git fetch --tags --progress https://github.com/Ya-wenWu/MyJenkinsRepo.git +refs/heads/*:refs/remotes/origin/*
20:47:21  > git rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
20:47:21  > git rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10
20:47:21 Checking out Revision b32ed175d91c098b5544363e6788ddcbe1fcc880 (refs/remotes/origin/master)
20:47:21  > git config core.sparsecheckout # timeout=10
20:47:22  > git checkout -f b32ed175d91c098b5544363e6788ddcbe1fcc880
20:47:22 Commit message: "加入unitest -1"
20:47:22  > git rev-list --no-walk b32ed175d91c098b5544363e6788ddcbe1fcc880 # timeout=10
20:47:22 Path To MSBuild.exe: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe
20:47:22 Executing the command cmd.exe /C " "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln " && exit %%ERRORLEVEL%% from C:\Jenkins2-150-1\workspace\MyJenkinsRepo
20:47:22 [MyJenkinsRepo] $ cmd.exe /C " "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe" C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln " && exit %%ERRORLEVEL%%
20:47:22 Microsoft (R) Build Engine for .NET Framework 15.9.21+g9802d43bc3 版
20:47:22 Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。
20:47:22 
20:47:22 在此解決方案中一次建置一個專案。若要啟用平行建置,請新增 "/m" 參數。
20:47:22 已經開始建置於 2019/1/23 下午 08:47:22。
20:47:23 節點 1 (預設目標) 上的專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln"。
20:47:23 ValidateSolutionConfiguration:
20:47:23   建置方案組態 "Debug|Any CPU"。
20:47:23 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln" (1) 正在節點 1 (預設目標) 上建置 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.csproj" (2)。
20:47:23 GenerateTargetFrameworkMonikerAttribute:
20:47:23 將略過目標 "GenerateTargetFrameworkMonikerAttribute",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:23 CoreCompile:
20:47:23 將略過目標 "CoreCompile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:23 _CopyAppConfigFile:
20:47:23 將略過目標 "_CopyAppConfigFile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:23 CopyFilesToOutputDirectory:
20:47:23   MyJenkinsRepo -> C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo\bin\Debug\MyJenkinsRepo.exe
20:47:23 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.csproj" (預設目標) 建置完成。
20:47:24 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln" (1) 正在節點 1 (預設目標) 上建置 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry\MyJenkinsRepoTry.csproj" (3)。
20:47:24 GenerateTargetFrameworkMonikerAttribute:
20:47:24 將略過目標 "GenerateTargetFrameworkMonikerAttribute",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 CoreCompile:
20:47:24 將略過目標 "CoreCompile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 _CopyFilesMarkedCopyLocal:
20:47:24   正在變更時間戳記 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry\obj\Debug\MyJenkinsRepoTry.csproj.CopyComplete"。
20:47:24 _CopyAppConfigFile:
20:47:24 將略過目標 "_CopyAppConfigFile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 CopyFilesToOutputDirectory:
20:47:24   MyJenkinsRepoTry -> C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry\bin\MyJenkinsRepoTry.dll
20:47:24 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry\MyJenkinsRepoTry.csproj" (預設目標) 建置完成。
20:47:24 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln" (1) 正在節點 1 (預設目標) 上建置 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry.Tests\MyJenkinsRepoTry.Tests.csproj" (4)。
20:47:24 GenerateTargetFrameworkMonikerAttribute:
20:47:24 將略過目標 "GenerateTargetFrameworkMonikerAttribute",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 CoreCompile:
20:47:24 將略過目標 "CoreCompile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 _CopyFilesMarkedCopyLocal:
20:47:24   正在變更時間戳記 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry.Tests\obj\Debug\MyJenkinsRepoTry.Tests.csproj.CopyComplete"。
20:47:24 _CopyOutOfDateSourceItemsToOutputDirectory:
20:47:24 將略過目標 "_CopyOutOfDateSourceItemsToOutputDirectory",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 _CopyAppConfigFile:
20:47:24 將略過目標 "_CopyAppConfigFile",因為所有輸出檔對於其輸入檔而言都已更新。
20:47:24 CopyFilesToOutputDirectory:
20:47:24   MyJenkinsRepoTry.Tests -> C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry.Tests\bin\Debug\MyJenkinsRepoTry.Tests.dll
20:47:24 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepoTry.Tests\MyJenkinsRepoTry.Tests.csproj" (預設目標) 建置完成。
20:47:24 專案 "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln" (預設目標) 建置完成。
20:47:24 
20:47:24 建置成功。
20:47:24     0 個警告
20:47:24     0 個錯誤
20:47:24 
20:47:24 經過時間 00:00:01.98
20:47:24 Path To VSTest.console.exe: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
20:47:24 Executing VSTest: cmd.exe /C C:\WINDOWS\TEMP\vstest6023345477534319490.bat && exit %ERRORLEVEL%
20:47:24 [MyJenkinsRepo] $ cmd.exe /C C:\WINDOWS\TEMP\vstest6023345477534319490.bat && exit %ERRORLEVEL%
20:47:24 
20:47:24 C:\Jenkins2-150-1\workspace\MyJenkinsRepo>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\UnitTestJenkinsProject1\bin\Release\UnitTestJenkinsProject1.dll" /Enablecodecoverage /UseVsixExtensions:false /Logger:trx 
20:47:24 Microsoft (R) Test Execution Command Line Tool 15.9.0 版
20:47:24 Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。
20:47:24 
20:47:25 /UseVsixExtensions 即將淘汰。請改用 /TestAdapterPath。
20:47:25 正在啟動測試執行,請稍候...
20:47:26 2.1933
20:47:26 資料收集器 'Code Coverage' 的訊息: Cannot find CodeCoverage.exe.。
20:47:28 成功   TestMethod1
20:47:28 成功   LogDebugTest
20:47:28 失敗   LogFatalTest
20:47:28 錯誤訊息:
20:47:28  Assert.IsTrue 失敗。 
20:47:28 堆疊追蹤:
20:47:28    於 UnitTestJenkinsProject1.UnitTest1.LogFatalTest() 於 D:\SYSCOM\GitJenkinsIIRepo\MyJenkinsRepo\MyJenkinsRepo1\UnitTestJenkinsProject1\UnitTest1.cs: 行 31
20:47:28 
20:47:28 結果檔案: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\LAPTOP-YW$_LAPTOP-YW_2019-01-23_20_47_28.trx
20:47:28 
20:47:28 測試總計: 3。成功: 2。失敗: 1。略過: 0。
20:47:28 測試回合失敗。
20:47:28 測試執行時間: 2.2885 秒
20:47:28 Build step 'Run unit tests with VSTest.console' marked build as failure
20:47:29 [MSTEST-PLUGIN] INFO processing test results in file(s) **/*.trx
20:47:29 [MSTEST-PLUGIN] INFO processing report file: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\LAPTOP-YW$_LAPTOP-YW_2019-01-23_20_35_58.trx
20:47:29 [MSTEST-PLUGIN] WARNING Unable to delete the file C:\Jenkins2-150-1\workspace\MyJenkinsRepo\temporary-junit-reports
20:47:29 [MSTEST-PLUGIN] INFO This file is a reserved temporary file. You can delete it safely.
20:47:29 [MSTEST-PLUGIN] INFO XML coverage report file not found: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\vstest.coveragexml
20:47:29 
20:47:29 [MSTEST-PLUGIN] INFO XML coverage report file not found: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\LAPTOP-YW$_LAPTOP-YW_2019-01-23_20_35_58.coveragexml
20:47:29 
20:47:29 [MSTEST-PLUGIN] INFO processing report file: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\LAPTOP-YW$_LAPTOP-YW_2019-01-23_20_47_28.trx
20:47:29 [MSTEST-PLUGIN] WARNING Unable to delete the file C:\Jenkins2-150-1\workspace\MyJenkinsRepo\temporary-junit-reports
20:47:29 [MSTEST-PLUGIN] INFO This file is a reserved temporary file. You can delete it safely.
20:47:29 [MSTEST-PLUGIN] INFO XML coverage report file not found: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\vstest.coveragexml
20:47:29 
20:47:29 [MSTEST-PLUGIN] INFO XML coverage report file not found: C:\Jenkins2-150-1\workspace\MyJenkinsRepo\TestResults\LAPTOP-YW$_LAPTOP-YW_2019-01-23_20_47_28.coveragexml
20:47:29 
20:47:29 Finished: FAILURE

-----
失敗 建構 #47 (2019/1/23 下午 08:47:19)
No changes.
由使用者 admin 啟動
Revision: b32ed175d91c098b5544363e6788ddcbe1fcc880
  • refs/remotes/origin/master
測試結果 (2 項失敗 / +1)
    顯示所有失敗測試 >>>

    ----





    [結果記錄檔]
     1.
    2.
    3.
    4.
    5.


    [專案組態內容]
    專案名稱:專案 MyJenkinsRepo


    [建置觸發程序]+[建置環境]+[建置]






    *Build a visual studio project or solution using MSBuild

    路徑填寫時,請填寫Jenkins的workspace目錄下的專案目錄路徑
    如果出現error時,可以參考console log 顯示的錯誤訊息,並剪貼錯誤的路徑位置,直接貼在瀏覽器內檢視檔案,就可以知道是否正確。

    [MSBuild Build File]:

    C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\MyJenkinsRepo.sln

    *Run unit tests with VSTest.console
    *Run unit tests with MSTest
    [Test File]: 
    C:\Jenkins2-150-1\workspace\MyJenkinsRepo\MyJenkinsRepo\UnitTestJenkinsProject1\bin\Release\UnitTestJenkinsProject1.dll


    [建置後動作]


    [Global Tool Configuration]
    [MSBuild]
    1. Path of MSBuild :

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin


    [MSTest]
    Path of MSTest :

    D:\Visual Studio\Common7\IDE\MSTest.exe

    [VSTest]
    Path of VSTest:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe



    [test report]: 來自unit test .sln
    C:\temp\log\2019-01-23\debug.log



    [透過 jenkins 進行壓測]
    為了發現程序是否有嚴重的性能問題與原因,檢證程序是否可正常營運與極限
    舉例:SQL語句的性能

    1. 壓測數值項目
      a. 系統內存
      b. CPU內存與使用歷程
      c. 磁盤I/O負荷量:可承受的最大量的數值
      d. 指標:
    2.

    2.
    3.
    4.
    5.

    留言

    熱門文章