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。

相关推荐
叫致寒吧1 小时前
Nginx基于域名的虚拟主机实操案例
运维·服务器·nginx
施努卡机器视觉3 小时前
SNK施努卡车门自动化安装
运维·自动化
咕噜签名-铁蛋3 小时前
云服务器与物理服务器、VPS的区别
运维·服务器
恒创科技HK3 小时前
香港服务器流量有限制和带宽有限制区别在哪?
运维·服务器·网络
wanhengidc3 小时前
机架式服务器有什么作用?
运维·服务器·web安全·智能手机·云计算
干啥都是小小白3 小时前
Linux C编程
linux·运维·服务器
司铭鸿4 小时前
化学式解析的算法之美:从原子计数到栈的巧妙运用
linux·运维·服务器·算法·动态规划·代理模式·哈希算法
❀͜͡傀儡师4 小时前
docker部署orion-ops一站式运维管理平台
运维·docker·github
last demo4 小时前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb
z***43845 小时前
SQL server配置ODBC数据源(本地和服务器)
运维·服务器·github