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。

相关推荐
霖霖总总9 分钟前
[小技巧42]InnoDB 索引与 MVCC 的协同工作原理
运维·数据库·mysql
CRMEB系统商城13 分钟前
CRMEB多商户系统(PHP)- 移动端二开之基本容器组件使用
运维·开发语言·小程序·php
HIT_Weston36 分钟前
103、【Ubuntu】【Hugo】搭建私人博客:搜索功能(四)
linux·运维·ubuntu
视觉震撼2 小时前
逐步指南:为大模型构建自动化知识图谱
运维·自动化·知识图谱
yeflx3 小时前
OpenMVS源码编译
运维
有泽改之_3 小时前
ssh命令使用
linux·运维·ssh
玩大数据的龙威3 小时前
【乱占耕地建房】—试点工作平台自动化填报系统
运维·自动化
JoyCong19984 小时前
高效远程协作指南:基于ToDesk的六大应用场景详解
运维·服务器·远程工作·远程操作
三不原则5 小时前
实战:混沌工程入门,模拟服务器宕机的故障演练
运维·kubernetes·chaos mesh
cws2004015 小时前
MFA双因素用户使用手册
运维·windows·网络安全·github·邮件·邮箱