Jenkins自动化发布

前言

记录一下最近配置Jenkins的发布流程的部分步骤

整体流程:使用 Jenkins 进行线上发布并打包docker镜像上传至私有docker镜像仓库、并配置 docker login 线上推送/拉取镜像发布运行。

安装docker 拉取 Jenkins 镜像就不再描述,有很多现成的文章。

插件集成

配置并安装maven、jdk、git、nodeJs、docker等基本组件

安装对应各种支持插件、如gitlab。

nodejs 插件前端发布使用

连接远程服务端并执行命令插件

创建流水线任务

创建任务、并配置任务各个环节执行命令与使用组件

 首先配置拉取git库地址与项目代码

 后续替换源码中的环境值、如dev环境替换为pro nacos 连接地址与命令空间等

 我使用的是最简单的sed -i 命令,该命令可以匹配正则表达式从而替换文本字符串。

资源打包与推送

   使用maven 进行jdk build,构建项目jar包

 打包完成之后使用shell命令把target包下的jar包cp到对应docker-compose文件下,此处需要提前写好docker-compose文件与对应服务的docker-file文件。

 执行docker-compose进行批量build镜像

 build完成之后执行docker tag 对镜像进行版本打标

 在镜像打标完成后docker push上传到镜像仓库

 远程连接目标服务器或者k8s master 节点 执行job命令并给予镜像下载地址。

历史资源删除

 打包之后上传到私服之后别忘记清空本地工作空间中无用的资源,以及docker镜像等资源,避免多次发布后出现资源占用过高问题。这样就可以形成一个闭环操作,可以多次发布项目版本。