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。

相关推荐
IT老胡5 分钟前
Docker入门与实操(1):Docker简介
运维·docker·容器
黛玉晴雯子0016 分钟前
Devops基础之Jenkins持续集成工具(持续更新)
ci/cd·jenkins·devops
小锋学长生活大爆炸12 分钟前
【软件】AI Agent:无需电脑的手机自动化助手AutoGLM
运维·人工智能·智能手机·自动化·手机·agent·autoglm
仅此,12 分钟前
docker 方式,postgreSQL18 安装 jieba 分词器扩展
运维·docker·postgresql·容器·中文分词·jieba
南工孙冬梅19 分钟前
Linux中安装配置nfs
linux·运维·php
中科岩创23 分钟前
云南某地光伏站边坡自动化监测服务项目
运维·人工智能·物联网·自动化
晚风吹人醒.30 分钟前
Linux系统安全及应用(账号权限管理、登录控制、弱口令、端口扫描)
linux·运维·系统安全·grub·sudo·账号管理
llilian_1640 分钟前
时间同步校时服务器配件清单及挑选攻略 校时时间服务器 网络时间同步装置
运维·服务器·网络
深圳市恒讯科技1 小时前
防止服务器被黑:终极防范网络攻击指南
运维·服务器·网络安全
VicdorLin1 小时前
docker报错: client version 1.24 is too old. Minimum supported API version is 1.44
运维·docker·容器