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。

相关推荐
莫渊博-天下无病4 分钟前
node高版本安装
运维·node.js
人工智能训练4 分钟前
Ubuntu 系统安装 VSCode 超全指南(3 种方法,适配 20.04/22.04 LTS)
linux·运维·服务器·vscode·ubuntu
facaixxx20246 分钟前
GPU算力租赁:3080Ti、Tesla P40和RTX40服务器配置整理
运维·服务器·gpu算力
bing_feilong7 分钟前
ubuntu网络命令详解
linux·运维·网络
神算大模型APi--天枢64614 分钟前
国产大模型后端开发与部署实战:从算力架构到行业规模化落地
大数据·运维·服务器·人工智能·架构
2301_7679026420 分钟前
Docker 从入门到实战
运维·docker·容器
成为你的宁宁24 分钟前
【Jenkins添加钉钉通知】
jenkins·钉钉
天呐草莓24 分钟前
企业微信运维手册
java·运维·网络·python·微信小程序·企业微信·微信开放平台
无法无天霸王龙27 分钟前
云计算运维培训:线上课 vs 面授课,到底该怎么选?
运维·云计算
是阿威啊29 分钟前
【第五站】集群组件一键启动/关闭脚本(Hadoop/YARN + Hive + Spark)
linux·运维·hive·hadoop·spark