??作者簡介:Java領域優質創作者🏆,CSDN博客專家認證🏆
??技識訓,該賞
??點贊 👍 收藏 ?再看,養成習慣

有粉絲問我,能不能在gitlab提交后,自動化部署jenkins?趁著國慶期間把文章碼好了,分享給我的粉絲,同時也分享給大家,
Jenkins使用教程相關系列 目錄
環境準備
安裝jenkins:
0??Jenkins從零到壹?? :安裝-windows 使用jenkins.msi安裝
安裝gitlab:
《gitlab從零到壹》基于docker-gitlab安裝
jenkins配置
安裝插件

安裝 Gitlab Hook 插件


安裝Build Authorization Token Root插件


安裝Generic Webhook Trigger

安裝GitLab

插件安裝成功后,重啟jenkins,
gitlab配置
新創建測驗專案


新創建一個簡單的spring boot專案


啟動后,訪問效果

jenkins新建ci-test專案
如圖操作:


丟棄舊的構建

原始碼管理選擇git
選擇對應的賬號密碼,指定分支

Failed to connect to repository : Error performing git command: git.exe ls-remote -h http://192.168.88.131:9980/root/ci_test.git HEAD
選擇git時,有報錯,這個錯誤可能是git的版本太低,要升級下版本或者是jenkins沒有配置git,
解決方案:接著登錄jenkins界面,依次打開"系統管理" -> “Global Tool Configuration” 全域工具配置-> “Git” -> “Path to Git executable”


保存后,再回傳專案的配置,重新配置git資訊
這時候就沒有報錯了

構建觸發器,添加webhook
需要安裝插件Generic Webhook Trigger、GitLab兩個插件才能有此選項

記住后面的GitLab CI Service URL后面要填在gitlab的webhooks中
gitlab配置webhooks
填寫URL及token(由于我的沒做ssh認證,所以沒用ssl認證)
URL:上面配置的jenkins 的url

保存后報錯
Urlis blocked: Requests to the local network are not allowed

解決方案:
進入 admin area

測驗webhook是否成功


操作后報錯
Hook executed successfully but returned HTTP 403
Error 403 anonymous is missing the Job/Build permission HTTP ERROR 403 anonymous is missing the Job/Build permission
URI: /project/ci_test STATUS: 403 MESSAGE: anonymous is missing the Job/Build permission SERVLET: Stapler
Powered by Jetty:// 9.4.42.v20210604

解決方案:

匿名用戶具有可讀權限

去掉跨站點請求偽造
Jenkins版本自2.204.6以來的重大變更有:洗掉禁用 CSRF 保護的功能
Jenkins 2.204.6以前的版本 配置:

Jenkins 2.204.6及以上的版本 配置:
在Jenkins啟動前加入相關取消保護的引數配置后啟動Jenkins,即可關閉CSRF,配置內容如下:
-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

重啟jenkins,看效果,如圖,就是關閉了CSRF,

點擊測驗,回傳200的話就表示成功了,

驗證自動化構建
向gitlab提交代碼
新增了個介面


push到gitlab

jenkins查看

如圖,已經自動構建成功了
我們看看日志


參考
解決“Hook executed successfully but returned HTTP 403”的問題:https://blog.csdn.net/anqixiang/article/details/104969902
高版本Jenkins關閉跨站請求偽造保護(CSRF):https://www.cnblogs.com/kazihuo/p/12937071.html
今天是持續寫作的第 17 / 100 天,
可以關注我,點贊我、評論我、收藏我啦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/308750.html
標籤:java
下一篇:Java之阻塞佇列深度剖析
