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。

相关推荐
feng_you_ying_li4 分钟前
linux之进程优先与切换调度
linux·运维·服务器
记得多喝水o6 分钟前
分析下最近的IPv8提案
运维·服务器
光电笑映9 分钟前
Linux C/C++ 开发工具(上):包管理器、Vim、gcc/g++ 与动静态库
linux·运维·服务器
张32312 分钟前
Ansible变量与事实
运维·云原生·自动化
贺雷8616 分钟前
3. 远程访问Ubuntu
linux·运维·ubuntu
张小姐的猫18 分钟前
【Linux】进程信号(质变)—— 信号捕捉 | 中断 | 内核态
linux·运维·服务器·c++
要做一个小太阳21 分钟前
blockbox配置文件详解与优化
运维·网络·prometheus
一只鼠标猴32 分钟前
甲方安全运营:漏洞整改推动实操指南
运维·安全·网络安全·安全架构·安全运营·漏洞整改
DianSan_ERP36 分钟前
淘宝订单接口集成中如何正确处理消费者敏感信息的安全与合规问题?
大数据·运维·网络·人工智能·安全·servlet
蚰蜒螟43 分钟前
深入浅出:从JVM线程创建到Linux内核clone系统调用
linux·运维·jvm