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。

相关推荐
NightReader1 小时前
CPU 高使用率,怎么降下来
运维·服务器
SWAGGY..2 小时前
Linux系统编程:(七)Makefile入门:轻松掌握编译自动化
linux·运维·自动化
开开心心就好2 小时前
免费流畅的远程控制实用工具
linux·运维·服务器·网络·智能手机·excel
代码熬夜敲Q4 小时前
ENSP 网络工程实验
linux·运维·服务器
銳昊城4 小时前
项目七: 配置与管理Web服务器(2) C2
运维·服务器
Muyuan19984 小时前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
yyuuuzz4 小时前
aws的核心概念与常见使用场景
运维·服务器·网络·云计算·aws
KivenMitnick5 小时前
LovelyERes:AWD适用的蓝队综合工具
运维·安全·网络安全
赵药师5 小时前
dpkg: warning: files list file for package ‘libselinux1:amd64‘ missing;
linux·运维·服务器
zt1985q5 小时前
本地部署开源内容管理系统 Typemill 并实现外部访问
运维·服务器·开源