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 分钟前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
落日漫游42 分钟前
K8s核心组件全解析
运维·docker·运维开发
Demisse3 小时前
[Linux] Linux文件系统基本管理
linux·运维·服务器
BAOYUCompany4 小时前
暴雨服务器:以定制化满足算力需求多样化
运维·服务器
禁默5 小时前
进程替换:从 “改头换面” 到程序加载的底层逻辑
linux·运维·服务器
Python私教7 小时前
Docker in Test:用一次性的真实环境,终结“测试永远跑不通”魔咒
运维·docker·容器
张3蜂7 小时前
深度解读 Browser-Use:让 AI 驱动浏览器自动化成为可能
运维·人工智能·自动化
reduceanxiety8 小时前
第四章 Linux实用操作
linux·运维·服务器
小白的代码日记9 小时前
Nginx学习与安装
运维·nginx
破刺不会编程12 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp