Jekins+Gitlab+Nexus自动构建Project

1、安装

安装及操作步骤看前几篇博客:
CentOS7搭建nexus 3.13.0-01私服:https://blog.csdn.net/eussi/article/details/82935964
CentOS7安装gitlab:https://blog.csdn.net/eussi/article/details/82960131
Jenkins安装:https://blog.csdn.net/eussi/article/details/82988218
Jenkins操作说明:https://blog.csdn.net/eussi/article/details/82989354
Jenkins—内置构建触发器:https://blog.csdn.net/eussi/article/details/82993687

我这里将三个软件全部安装到了一台服务器上,安装时注意端口冲突问题,参照以上文章的安装和操作步骤即可

2、创建项目

类似github,在gitlab新建一个Java project,这里以一个maven项目为例,gitclone到本地,写几个简单的java代码,pom.xml文件中添加几个dependency等等,能用到nexus私服下载jar包,具体的说明还是查看步骤1中的几篇文章,这里重点是Jenkins的自动构建,gitlab上创建的project,如图:
在这里插入图片描述

3、服务器安装

Jenkins是由各种插件组成的,插件运行或者执行脚本等也需要服务器上安装了相关软件才行
1)由于我们需要自动构建一个maven项目,所以服务器需要安装maven,这里注意配置setting.xml文件,为了使用私服,将仓库下载地址指向Nexus私服,同样Jenkins需要maven插件
在这里插入图片描述
2)我们需要从gitlab拉取代码,所以服务器需要安装git,Jenkins需要gitlab,gitlab Hooks 插件

yum install git-core

在这里插入图片描述
在这里插入图片描述

4、Jenkins新建一个项目

点击新建项目,如图:
在这里插入图片描述
点击确定,如图:
在这里插入图片描述
1)首先来看源码管理,我们需要配置从哪里获取源码,点击git,如图:
在这里插入图片描述

  1. 这里有个repository URL仓库地址,进入gitlab的项目地址,有两种形式,一种通过SSH,一种通过HTTP,如图:
    在这里插入图片描述
  2. 首先看HTTP形式的,如果填写的地址连接不上会报错,如图:
    在这里插入图片描述
    点击Add按钮,添加Credentials,如果是HTTP连接,一般类型选择username with password,输入用户名、密码、id即可,如图:
    在这里插入图片描述
    点击添加后,Credentials选择刚刚添加的内容,如图:
    在这里插入图片描述
    不出现错误提示,即为连接成功
  3. 再看SSH形式的,同样,如果填写的地址连接不上会报错,这种方式之前的用户名密码形式已经不行了,如图:
    在这里插入图片描述
    这里需要生成秘钥和私钥文件,在git中,运行:
git config --global user.name "xxx"
git config --global user.email "xxxx@xx.xxx" #后面是邮箱
ssh-keygen -t rsa -C "xxxx@xx.xxx" #后面是邮箱

注意运行ssh-keygen时,需要输入密码,一般直接回车,否则输入密码太麻烦,在用户目录下.ssh文件夹中找到公钥和私钥文件:
在这里插入图片描述
在gitlab上添加公钥,如图:
在这里插入图片描述
在这里插入图片描述
回到Jenkins,点击Add按钮,添加Credentials,如果是SSH连接,一般类型选择SSH Username with private key,输入用户名、将私钥内容粘贴进private Key框中、在输入id即可,如图:
在这里插入图片描述
点击添加后,Credentials选择刚刚添加的内容,如图:
在这里插入图片描述
4. 对于Branches to build,这是选择要构建的分支,写法点击右侧问号查看详细说明,这里选择master分支进行构建:
在这里插入图片描述
2)对于构建触发器
我们选择Build when a change is pushed to GitLab,注意后面的webhook,gitlab配置时需要,如图:
在这里插入图片描述
3)Pre Steps执行一条命令
如图:
在这里插入图片描述
4)Build配置maven,并输入执行的maven命令
如图:
在这里插入图片描述
点击红色字体连接,或者点击系统管理–>全局工具配置配置maven均可以:
在这里插入图片描述
配置后:
在这里插入图片描述
5)构建之后的操作,以及邮件通知,这里暂时省略

5、gitlab webhooks

进入gitlab,点击项目的setting,选择integrations,填写jenkins构建触发器显示的webhook,并选择触发的时间,这里选择Push Events,如图:
在这里插入图片描述
点击add webhook之后,如图:
在这里插入图片描述
此时点击Test下拉框,选择Push Events触发,一般会发生403的错误,如图:
在这里插入图片描述
解决这个问题,首先需要正确安装了gitlab hook插件,然后在系统管理 --> 系统设置 --> 取消勾选 Enable authentication for ‘/project’ end-point,保存后再次点击测试,如图:
在这里插入图片描述
此时查看Jenkins,发现完成了一次构建,如图:
在这里插入图片描述
虽然构建失败,但是的确触发了构建。说明webhook生效了

通过查看构建的控制台输出,发现mvn的goal写的有问题,应该去掉mvn,如图:
在这里插入图片描述
在这里插入图片描述
修改后,点击立即构建测试,构建成功,如图:
在这里插入图片描述
由于使用的maven的goal是deploy,去私服查看,可以发现已经部署成功,如图:
在这里插入图片描述

6、通过push代码测试生效

push代码,如图:
在这里插入图片描述
触发了一次新的构建,如图:
在这里插入图片描述
测试成功

7、只监测某一分支的push events

此时在构建触发器设置的位置,点击高级,配置如图:
在这里插入图片描述
此test分支push代码,在gitlab上可以查看是webhook是调用了的,但是未触发构建,如图:
在这里插入图片描述
此时master分支push代码,触发了一次构建,如图:
在这里插入图片描述
这里就介绍完了,当然还要更多的细节,篇幅有限,需要在使用中慢慢发现他们的作用和使用注意事项,但是总体来说,等你用了几次之后就会发现Jenkins很容易上手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值