当前位置: 首页 > news >正文

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后自动构建发版。

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

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

http://www.lryc.cn/news/375867.html

相关文章:

  • 简单易用的多功能图床Picsur
  • 数据库-查询语句习题
  • 进程间通信以及线程的同步互斥机制
  • 优思学院|做车企的质量工程师转行跳槽能干嘛?
  • ctfshow-web入门-命令执行(web53-web55)
  • 【INTEL(ALTERA)】make: nios2-swexample-create:未找到命令
  • 一周刷爆leetcode!(b站视频)
  • 1.xshell传不了文件输出0000如何解决.....2.k8s中metalLB文件内容
  • 01- ES6语法
  • STM32MP135裸机编程:配置RCC,修改主频到1GHz
  • 观察 jvm 运行时数据区内存大小(native memory tracking)
  • 【论文阅读】-- 时间空间化:用于深度分类器训练的可扩展且可靠的时间旅行可视化
  • Windows系统部署本地SQL_Server指引
  • Aptos Builder Jam 亚洲首站|议程公布,无限畅想 Aptos 生态未来
  • Vue3使用component动态展示组件
  • 嵌入式中间件_2.嵌入式中间件的分类
  • 论文精读——KAN
  • 全国产城市轨道交通运营公安AI高清视频监控系统
  • python连接mysql数据库、FastAPI、mysql-connector-python
  • 【idea】解决springboot项目中遇到的问题
  • ubuntu22.04禁止自动休眠的几种方式
  • 智能网站管理系统
  • Android Service学习笔记
  • amr文件怎么转换成mp3?超好用的四种转换方法介绍!
  • 翻转数位00
  • 工具:安装R语言的R包的各种方法
  • 注意力机制和Transformer模型各部分功能解释
  • 短路是怎么形成的
  • 【ZZULIOJ】1106: 回文数(函数专题)
  • 数据库设计规范总结