Jenkins 建置 ASP.NET Core 專案

Posted on 2019-04-22

上一篇文章 (Jenkins 取得 Github 上的專案) 已經把專案從 Github 拉下來了,下一個步驟就是要建置專案了

安裝 .NET Core SDK

  • 如果你的 Jenkins 主機還沒有安裝 .NET Core SDK 的話,請到官網 依自己的平台和相對應的版本下載安裝

注意:因為我們是要建置專案,所以下載的是 SDK 而不是 Runtime

工作區

  • 我們來到 TestJenkis 的內容頁面,點 工作區 可以看到在工作區裡面的所有檔案,如果我們要直接對整方案建置的話,sln 就在第一層的工作區

建置方案

  • 點選 組態 來到設定頁面,移到 建置 的區塊,點選 新增建置步驟

  • 因為 Jenkins 是安裝在 MAC 上面,所以這裡要選擇的是使用 執行 Shell,如果是 Windows 的話,這裡就要選擇 執行 Windows 批次指令

  • 選擇後會出現一個空白的區塊,這就是要讓你打指令用的

  • 參考官網 dotnet build的說明,我們可以直接下 dotnet build 就可以建置專案,

  • 儲存之後回到專案頁面,按 馬上建置,會發現變成紅燈

  • 來到輸出的畫面,最下面可以看到錯誤訊息 dotnet: command not found

修正 dotnet command not found

  • 回到主畫面,點選 管理 Jenkins

  • 點選 設定系統

  • 來到 全域屬性 的區塊,新增一個 環境變數,按 儲存
  • 名稱: PATH
  • 值: /usr/local/share/dotnet

  • 如果不確定某個指令在那一個資料夾的話,可以使用 where 來查詢 (如下圖)

  • 回到專案再次建置一次就可以看到成功了

畫面輸出時加入時間戳記

  • 因為會很常看輸出的內容,所以建議可以把設定裡面 建置環境在「畫面輸出」中加入時間戳記 打勾

  • 然後再建置一次,就可以看到最前面有時間了,相比沒有時間的畫面會比較好看一點

持續建置

目前的建置方法是人工來到 Jenkins 手動按,這樣子的作法有點蠢,比較正確的流程應該是有人 commit 到版控裡面,Jenkins 自動建置才是

  • 來到專案的設定畫面的 建置觸發程序 區塊,把 輪詢 SCM 打勾
    • 意思就是每隔一段時間,Jenkins 自己去檢查看看有沒新的版本,如果有的話就觸發建置

  • 可以在 排程 裡面設定多久要去檢查,這裡的設定方式是使用 Linux 排程 Crontab 的設定方法,寫了一個排程之後,下面也會有說明跟你說如果現在執行了,下次什麼時候會再執行
    • 一般來說我都會設定成 * * * * *,意思是每一分鐘都去檢查一次

  • 如果不知道怎麼設定的,可以點後面的 ? 下面就會出現說明

  • 儲存之後回到專案頁面,就可以看到多一個 Git 輪詢記錄,裡面會寫什麼時候去檢查的

  • 之後只要版控裡面有新的版本,Jenkins 就會觸發建置了