前言
在前面的文章中,我們已經成功設置好了Jenkins並讓Jenkins擁有sudo權限能更讓我們做更多事情了。
接下來就準備進到重頭戲,開始設定GitHub Webhook並觸發Jenkins來將專案Clone下來後,實現CI/CD吧!
設定Github Webhook
首先登入到 GitHub,點選你希望更新時能透過 GitHub Webhook 觸發 Jenkins 的 Repository,點選 Settings 選取 Webhooks,再點選「add webhook」後輸入 <你的Jenkins Server>/github-webhook/
這時候設定完後,返回後會發現會有一個錯誤的圖案,這是因為Github還沒有跟我們的Jenkins進行連接,等到第一次Clone後就會是綠燈了,請放心。
接著我們回到Jenkins
Jenkins 設定
首先在 Jenkins 首頁點選「New Item」:
點選 Pipeline 後輸入你的Pipeline名稱:
接著進入Configure後,我們先找到 General
勾選「GitHub project」然後貼上你的 GitHub Repository URL
Configure — Build Triggers:
選取「GitHub hook trigger for GITScm polling」
Configure — Pipeline:
接下來就可以開始設定當觸發Jenkins將專案拉下來之後,我們要做哪些事情。
Pipeline一般來說我們可以分為三個階段:Buid、Test、Deploy
當然你也可以自定義各種階段,基本上每一個階段就只是將內容分離出來,讓你比較好知道現在執行到哪裡,以及每一階段執行所需時間如何。
1 | pipeline { |
而由於筆者本身使用.NET6進行API開發,因此這邊同時也放上.NET版本給各位參考一下。但由於礙於公司機密,所以拿掉不少東西,再請各位多多包涵
1 | pipeline { |
到這裡基本上就完成的差不多了,最後我們實際上將Code推倒Github試試看:
我們可以注意到整體速度滿快的,從Build、Deploy 平均只花了10秒就完成。
有任何家教、案子 或技術相關問題 請都歡迎聯繫我