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。

相关推荐
skywalk81632 小时前
FreeBSD 14.3 轻量级Jail虚拟机:内存资源占用仅13MB的实战指南
运维·服务器·freebsd·jail
nandezizai_ddc2 小时前
Debian 初始设置
运维·debian
R.lin2 小时前
浅谈Nginx
运维·nginx
远程软件小帮手2 小时前
好用的远程软件!ToDesk、向日葵、UU远程横测
运维·服务器·游戏·电脑
std78793 小时前
核电站里,机器人当起“侦察兵”
运维·安全·机器人
HIT_Weston3 小时前
30、【Ubuntu】【远程开发】内网穿透:反向隧道建立(二)
linux·运维·ubuntu
Percep_gan3 小时前
在Linux中安装字体
linux·运维·服务器
q***49453 小时前
如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
运维·服务器·ssh
Stella25213 小时前
【Jenkins/Termius/集群概念】
运维·servlet·jenkins
清清&3 小时前
【Linux】冯诺依曼体系结构和操作系统的理解
linux·运维·服务器