Jenkins构建 Maven项目(微服务)并自动发布

前面讲了docker 安装Jenkins和gitlab代码管理工具,接下来我们讲一下Jenkins怎么构建 Maven项目。

1. 首先Jenkins配置下面3中工具类
首先是在本地安装三个jenkins自动配置相关的工具

1.1 JDK
由于我们使用docker来启动jenkins,其自带有jdk,因此不需要再下载JDK,查看其容器携带的config.v2.json可发现,jdk路径为:

 
路径为:/opt/java/openjdk
1.2 Git 

安装git:apt-get install git

路径为:/usr/bin/git
1.3 Maven
 

解压后设置maven 的下载路径和下载源                           
 设置maven的环境路径 

 

上面全部准备好了,要安装maven插件,git插件

接着安装git客户端设置账号。这里不做介绍了。

2. 配置gitlab访问Jenkins的权限

进入jenkins容器内部,生成ssh key

 保存后,我们在gitlab上分别创建组,角色,账号,项目。

这里我们创建一个springboot 的maven项目:

 然后提交到仓库:

 2. 配置Jenkins的环境和创建构建项目

分别配置maven的setting.xml路径,jdk路径,git路径,maven路径。

  3. 配置Jenkins访问git的凭证

   

 接着配置gitlab api访问token:

1.gitlab 设置jenkins 访问的token:

2.gitlab 生成第三方访问的令牌:

点击创建令牌,会生成一个token访问令牌串。

3.jenkins的凭证管理添加gitlab的刚才上面生成的token访问令牌串

配置好了之后,我们可以验证一下,看看是否正常:

当然,我们可以配置gitlab的一些全局变量:

定义变量

当 GitLab 通过插件触发构建时,会根据 GitLab 发送的 JSON 有效负载设置各种环境变量。您可以在整个作业配置中使用这些。可用的变量是:

gitlabBranch

获取提交到 gitlab 仓库的当前分支名,如:main

gitlabSourceBranch

当用户合并分支时,获取要合并的 gitlab 源分支名,如:main

gitlabActionType

获取当前 gitlab 操作类型,如:NOTEPUSHMERGE

gitlabUserName

获取提交到 gitlab 仓库的用户名称,如:mavendemo 

gitlabUserUsername

获取提交到 gitlab 仓库的用户用户名

gitlabUserEmail

获取提交到 gitlab 仓库的用户邮箱地址,如:huage@gmain.com

gitlabSourceRepoHomepage

获取提交到 gitlab 源仓库地址,如:http://192.168.33.10/devop/mavendemo.git

gitlabSourceRepoName

获取提交到 gitlab 源仓库名,如:mavendemo 

gitlabSourceNamespace

获取提交到 gitlab 源仓库的命名空间,如:GitLab Instance

gitlabSourceRepoURL

获取提交到 gitlab 源仓库的 URL 地址,如:http://192.168.33.10/devop/mavendemo.git

gitlabSourceRepoSshUrl

获取提交到 gitlab 源仓库的 SSH URL 地址,如:9922@192.168.33.10:devop/mavendemo.git

gitlabSourceRepoHttpUrl

获取提交到 gitlab 源仓库的 HTTP URL 地址,如:http://192.168.33.10/devop/mavendemo.git

gitlabMergeRequestTitle

获取合并分支请求时的标题,如:Update hello.sh

gitlabMergeRequestDescription

获取合并分支请求时的描述信息,如:Update hello.sh

gitlabMergeRequestId

获取合并分支请求时的 ID,如:7

gitlabMergeRequestIid

获取合并分支请求时的 I ID,如:7

gitlabMergeRequestState

获取合并分支请求的状态

gitlabMergedByUser

获取合并分支的用户名

gitlabMergeRequestAssignee

获取合并分支请求时的受让人

gitlabMergeRequestLastCommit

获取合并分支请求时的源分支最后的 commit id

gitlabMergeRequestTargetProjectId

获取合并分支请求时的目标项目 ID

gitlabTargetBranch

当用户合并分支时,获取要合并的 gitlab 目标分支名,如:test

gitlabTargetRepoName

获取提交到 gitlab 目标仓库名,如:Test

gitlabTargetNamespace

获取提交到 gitlab 目标仓库的命名空间,如:GitLab Instance

gitlabTargetRepoSshUrl

获取提交到 gitlab 目标仓库的 SSH URL 地址,如:9922@192.168.33.10:devop/mavendemo.git

gitlabTargetRepoHttpUrl

获取提交到 gitlab 源仓库的 HTTP URL 地址,如:9922@192.168.33.10:devop/mavendemo.git

gitlabBefore

gitlabAfter

gitlabTriggerPhrase

获取触发 gitlab 构建 Jenkins 的语句

  4. 创建maven项目:

 

点击下一步即可。

 分别配置上面的步骤即可。

接下来我们提交代码:

这个时候我们发现已经开始构建了:

 

 

可以看到gitlab代码自动推到jenkins后自动构建发版。

 我们通过浏览器地址来访问看看结果:

 可以看到已经成功了!后面接着讲其定时任务触发,轮询的方式来构建。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值