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

x33g5p2x  于9个月前 转载在 Java  
字(1.7k)|赞(0)|评价(0)|浏览(90)

环境准备

安装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

相关文章