😄 19年之后由于某些原因斷更了三年,23年重新揚帆起航,推出更多優質博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志
🎐 個人CSND主頁——Micro麥可樂的博客
🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰
🌺《RabbitMQ》本專欄主要介紹使用JAVA開發RabbitMQ的系列教程,從基礎知識到項目實戰
🌸《設計模式》專欄以實際的生活場景為案例進行講解,讓大家對設計模式有一個更清晰的理解
💕《Jenkins實戰》專欄主要介紹Jenkins+Docker+Git+Maven的實戰教程,讓你快速掌握項目CI/CD,是2024年最新的實戰教程
如果文章能夠給大家帶來一定的幫助!歡迎關注、評論互動~
Jenkins + Docker + Git + Maven 實戰教程(五)- 配置Gitee Webhooks實現自動構建部署
- 前言
- 什么是Webhooks
- Webhooks的工作原理
- 開始配置Jenkins
- 開始配置Gitee
- 結語
前言
上一章節中我們已經學習從自己編寫簡單SpringBoot
項目(根目錄下編寫Dockerfile
)上傳至Gitee
,最后通過Jenkins
實現自動化部署,可能有小伙伴會問,能不能我在提交代碼至倉庫的時候Jenkins就幫我們部署呢? 答案是肯定的,今天我們就來講講Webhooks
什么是Webhooks
Webhooks
是一種基于HTTP協議的回調機制。當特定事件(如代碼推送、Pull Request等)發生時,源系統會向預先配置的URL發送一個HTTP請求,以通知目標系統進行相應的操作。在CI/CD流程中,Webhooks
常用于觸發Jenkins
構建任務。
Webhooks的工作原理
當代碼倉庫(如GitHub
、Gitee
)中的某些事件發生時,這些系統會向配置好的Jenkins URL發送HTTP請求。Jenkins接收到請求后,根據配置的Job
或Pipeline
,自動執行相應的構建、測試和部署任務。
開始配置Jenkins
以下以Gitee為例,詳細講解如何配置Webhooks。
首先我們在Jenkins
控制臺 -> 插件管理安裝Gitee插件
安裝好插件我們在 系統配置
設置一下Gitee,用于訪問Giee倉庫項目憑證
Gitee令牌生產如下
安裝完成回到我們上一章節配置的 jenkins-demo
任務, 如果你還沒了解上一章節的內容可以點擊下方鏈接查閱:
2024最新 Jenkins + Docker 實戰教程(四) - 編寫自己的Springboot項目實現自動化部署
進入任務后 配置
-> 構建觸發器
,會發現多了一個Gitee Webhooks
觸發構建的選項
這里我們設置觸發策略
Push: 倉庫推送代碼、推送 / 刪除分支
Pull Request:新建、更新、合并
最后設置Gitee WebHook 密碼
開始配置Gitee
通過 「倉庫主頁
」->「管理頁面
」->「WebHooks
」 添加 WebHook
URL:接收 WebHook 數據的 http 地址,Gitee會發送 Post 請求到這個地址。
WebHook 密碼/簽名密鑰:保證安全以及識別數據來源
Tips:
URL以及密碼根據剛才Jenkins中配置的Gitee Webhooks觸發構建生成的信息填入
由于博主的教程是基于本機進行Jenkins的部署,即URL:
http://192.168.1.20:8080/gitee-project/jenkins-demo
Gitee是無法POST到這個地址的,地址要填寫公網的地址,或者有內網穿透工具也可以,這里我們需要借助一個 內網穿刺
工具來實現外網訪問本地端口項目
大家可以參考 NeutrinoProxy,NeutrinoProxy(中微子代理) 一款基于solon、netty的內網穿透神器!同樣也是基于Docker部署。
也可以使用一個在線免費的工具 : 訪問地址 注冊賬號,申請免費通道
最后我們修改一下我們的SpringBoot代碼,并提交倉庫
觀察Jenkins 構建歷史,發現 Started by Gitee push by xxx
信息則證明通過Gitee WebHooks的推送實現了項目的自動化構建部署
最后訪問一下我們的SpringBoot測試項目,測試成功!
結語
Webhooks
是實現自動化構建與部署的重要工具,通過配置Webhooks
,可以在代碼倉庫發生變更時,自動觸發Jenkins
執行相應的構建任務。通過本文介紹了Webhooks的使用方法,希望幫助小伙伴們更好地利用Webhooks
提高開發效率和代碼質量。
下一章節:2024最新 Jenkins + Docker 實戰教程(六)- 配置郵箱接收構建通知