Jenkins基于tag的构建

文章目录

Jenkins参数化构建设置

选择参数化构建:

在gradle构建之前,增加执行shell的步骤:

把新增的shell框挪到gradle构建之前,

最后保存

设置gitlab tag

这样在每次改了代码提交后,可以在新的时间点上设置新的tag。

在工程中维护构建的版本

gitlab上打的标签,在jenkins中执行构建时,可以从环境参数获取git参数传过来的信息,也就是这里的tag参数:

build.gradle中获取环境参数:

groovy 复制代码
ext.PROJECT_VERSION = System.getenv('tag')

docker-compose.yml中获取环境参数:

yaml 复制代码
...
services:
  hello:
    image: hello:${tag}
    ...

按指定tag的版本启动服务

当gradle的docker插件按tag打出版本后,要在目标服务器上启动相应版本的应用,这里需要在docker-compose up时指定一个tag相关的环境变量,而在jenkins服务器发送命令时,可以这样传递环境变量:

对于同一个tag,如果要更新功能,可以先在gitlab上删除tag,提交代码后重新再打相同的tag,再jenkins构建该tag,此时docker image prune -f会清理废弃的image。

相关推荐
zbguolei7 小时前
局域网测速软件OpenSpeedTest的安装与测试
运维
CaspianSea8 小时前
清理 Ubuntu里不需要的文件
linux·运维·ubuntu
天码-行空8 小时前
达梦数据库(DM8)详细安装教程
linux·运维·数据库
霖霖总总8 小时前
[小技巧36]MySQL 配置参数全解:参数含义、作用域与运维建议
运维·数据库·mysql
负二代0.08 小时前
Linux下的软件管理
linux·运维
Zoey的笔记本8 小时前
支持API接入的看板工具测评:如何实现自动化协作
运维·自动化
哲霖软件8 小时前
机械设备ERP选型指南:5款产品技术特性与落地要点
运维·数据库
晨非辰9 小时前
C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现
运维·开发语言·c++·人工智能·后端·python·深度学习
chinesegf9 小时前
虚拟机ubuntu中磁盘满了 + 镜像损坏,如何解决
linux·运维·ubuntu
掘金-我是哪吒9 小时前
提升服务器性能,解决前端首页加载过慢的问题
运维·服务器·前端