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。

相关推荐
数智顾问3 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
牛奶咖啡134 小时前
CI/CD——使用Jenkins实现自动化部署与持续集成之jenkins插件与凭据配置
ci/cd·jenkins·jenkins必备插件安装·jenkins全局工具配置·jenkins的凭据配置·jenkins自动化部署流程·jenkinsgitlab集成
摇滚侠4 小时前
DSL 学习 ElasticSearch 主要就是学习 DSL 查询语言
学习·elasticsearch·jenkins
AC赳赳老秦6 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
倔强的石头1067 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器
陶然同学8 小时前
【Linux及Shell】VMware&Ubuntu&Xshell安装
linux·运维·xshell8·xftp8
小乐笙8 小时前
笔记:纯真 IP 库使用
运维·网络·tcp/ip
咖喱o9 小时前
DHCP
linux·运维·服务器·网络
IMPYLH9 小时前
Linux 的 touch 命令
linux·运维·服务器·bash
uestcwhc9 小时前
服务器定时发送邮件设置
运维·服务器