《Jenkins从零到壹》Jenkins集成gitlab自动化构建(JAVA 小虚竹 建议收藏)

❤️作者简介:Java领域优质创作者🏆,CSDN博客专家认证🏆

❤️技术活,该赏

❤️点赞 👍 收藏 ⭐再看,养成习惯

image-20211008165328968

有粉丝问我,能不能在gitlab提交后,自动化部署jenkins?趁着国庆期间把文章码好了,分享给我的粉丝,同时也分享给大家。

Jenkins使用教程相关系列 目录

环境准备

========================================================================

安装jenkins:

0❤️Jenkins从零到壹❤️ :安装-windows 使用jenkins.msi安装

安装gitlab:

《gitlab从零到壹》基于docker-gitlab安装

jenkins配置

=============================================================================

安装插件


image-20211006203056499

安装 Gitlab Hook 插件

image-20211006203801041

image-20211006203522961

安装Build Authorization Token Root插件

image-20211006203904022

image-20211006204017661

安装Generic Webhook Trigger

image-20211006233729487

安装GitLab

image-20211006233757270

插件安装成功后,重启jenkins。

git
lab配置

============================================================================

新创建测试项目


image-20211006204548308

image-20211006204716272

新创建一个简单的spring boot项目

image-20211006230751636

image-20211006230825084

启动后,访问效果

image-20211006230936709

jenkins新建ci-test项目

======================================================================================

如图操作:

image-20211006231244023

image-20211006231312831

丢弃旧的构建


image-20211006233156002

源码管理选择git


选择对应的账号密码,指定分支

image-20211006231752188

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

image-20211006232423574

image-20211006232505116

保存后,再返回项目的配置,重新配置git信息

这时候就没有报错了

image-20211006232618020

构建触发器,添加webhook


需要安装插件Generic Webhook Trigger、GitLab两个插件才能有此选项

image-20211006234236490

记住后面的GitLab CI Service URL后面要填在gitlab的webhooks中

gitlab配置webhooks

====================================================================================

填写URL及token(由于我的没做ssh认证,所以没用ssl认证)

URL:上面配置的jenkins 的url

image-20211006235129681

保存后报错

Urlis blocked: Requests to the local network are not allowed

image-20211007000009086

解决方案:

进入 admin area

image-20211007000510592

测试webhook是否成功


image-20211007000633625

image-20211007000702155

操作后报错

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


image-20211007000840148

解决方案:

20200319160927324

匿名用户具有可读权限

image-20211007103622408

去掉跨站点请求伪造

Jenkins版本自2.204.6以来的重大变更有:删除禁用 CSRF 保护的功能

Jenkins 2.204.6以前的版本 配置:

image-20211007103710537

Jenkins 2.204.6及以上的版本 配置:

在Jenkins启动前加入相关取消保护的参数配置后启动Jenkins,即可关闭CSRF,配置内容如下:

-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

image-20211007104040740

重启jenkins,看效果,如图,就是关闭了CSRF。

image-20211007104107812

点击测试,返回200的话就表示成功了。

image-20211007111633278

验证自动化构建

===========================================================================

向gitlab提交代码


新增了个接口

image-20211007112110312

image-20211007112058532

push到gitlab

image-20211007112337499

jenkins查看


image-20211007112511683

如图,已经自动构建成功了

我们看看日志

image-20211007112553985

image-20211007112845365

参考

======================================================================

解决“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 天。
可以关注我,点赞我、评论我、收藏我啦。

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值