2017-02-09

如何使用 Jenkins 2 建置 .NET 專案

實際上使用 Jnekins 1 跟 Jenkins 2 在建置 .NET 專案的設定並沒有不同,依照 Jenkins 1 的設定即可,因為已改用 Jenkins 2 ,怕設定畫面不同,造成誤解,所以標題就直接使用 Jenkins 2


文章大綱

  1. 安裝 Plugin
  2. 設定 NuGet
  3. 設定 MSBuild
  4. 新增 project
  5. prject 設定
  6. Build Now

安裝 Plugin

  • 視實際情況來安裝

    1plugin

  • 必要:NuGet,MSBuild
  • 版控: GitHub or Subversion or Visual Studio Team Foundation Server (TFS)

設定 NuGet

  1. Manage Jenkins --> Configure System

    10NuGetsetting

  2. NuGet 區塊
    • 指定 NuGet.exe 絕對位置
    • 可以透過 chocolatey NuGet.CommandLine 安裝 NuGet command line 工具
    • 預設值是 ${WORKSPACE}.NuGet\NuGet.exe

      11NuGet

設定 MSBuild

  1. Manage Jenkins --> Global Tool Configuration

    7globalmsbuild

  2. MSBuild 區塊

    8msbuild

    • 可以同時指定多個版本的 MSBuild
    • 給定識別用的 name 及 MSBuild.exe 所在資料夾路徑

      9msbuilds

新增 project

  1. 加入新 job
    • New Itemcreate new jobs 都可以

      2create

  2. project 名稱 及類型

    3newporject

    • 2-1. project 名稱
    • 2-2. 選擇 project 類型( Freestyle project)

prject 設定

  • Source Code Management

    4source

    • Source Code Management tab
    • 以 GitHub 為例
    • 指定 Repository
    • 指定 登入資訊
      • 選擇 or 新增

        5addcred

      • add credentials

        6cred

    • 選定 Branch
  • Build

    12build

    • 使用 plugin

      1. NuGet 還原
        • Add build step -->Execute Winodws batch command

          13NuGet

        • 指令 NuGet restore {projectName}.sln
        • 如上網需 proxy 時的指令(非必要)
          NuGet config -set http_proxy=http://proxyserver:port
          NuGet config -set http_proxy.user=AD\username
          NuGet config -set http_proxy.password=password
          NuGet restore {projectName}.sln 
          
      2. MSBuild
        • Add build step --> Build a Visual Studio project or solution using MSBuild

          14msbuild

        • 設定

          16buildsetting

          • MSBuild Version
            • 可使用前面設定的 MSBuild 版本

              15msbuildversion

          • MSBuild Build File
            • 方案檔或是專案檔名稱
          • Command Line Arguments
            • 指定 build 的參數
            • build mode,build platform
              • e.g. /p:Configuration=Release /p:Platform="Any CPU"
    • 直接指定路徑

      1. NuGet 還原
        • Add build step --> Execute Winodws batch command

          13NuGet

        • 指令 "C:\ProgramData\chocolatey\lib\NuGet.CommandLine\tools\NuGet.exe" restore {projectName}.sln
        • 如上網需 proxy 時的指令(非必要)
          "C:\ProgramData\chocolatey\lib\NuGet.CommandLine\tools\NuGet.exe" config -set http_proxy=http://proxyserver:port
          "C:\ProgramData\chocolatey\lib\NuGet.CommandLine\tools\NuGet.exe" config -set http_proxy.user=AD\username
          "C:\ProgramData\chocolatey\lib\NuGet.CommandLine\tools\NuGet.exe" config -set http_proxy.password=password
          "C:\ProgramData\chocolatey\lib\NuGet.CommandLine\tools\NuGet.exe" restore {projectName}.sln 
          
      2. MSBuild
        • Add build step --> Execute Winodws batch command

          13NuGet

        • 指令 "C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe" {projectName}.sln /p:Configuration=Release /p:Platform="Any CPU"

Build Now

  1. 執行建置(擇一)

    17buildnow

    22startbuild

  2. 開始建置

    18startbuild

  3. 詳細建置資訊

    19detail

  4. 建置結果

    20success

    21result

參考資料

沒有留言:

張貼留言