当前位置: 首页 > news >正文

Jenkins自动化部署后端项目看这篇就够了

本文主要讲解,使用Jenkins自动化部署后端工程。讲解怎么自动化部署前后的分离项目中的后端工程。

前提条件:本地需要Jenkins,如果你不知道怎么安装,可以看我的另外一篇文章。

Jenkins实现自动部署的步骤:

  1. 先拉取git代码
  2. 通过本地的mavn命令进行打包编译。如果你是Gradle项目,通过Gradle命令打包。
  3. 如果你项目是jar包部署,添加shell启动命令通过jar包启动就可以了,如果你是docke部署的,需要先通过dockerfile构建一个docker镜像,然后启动镜像,完成自动化部署。

废话不多说,开干!

🎐凭证配置

因为Jenkins实现自动化部署,需要先拉取代码,我们需要配置git的凭证,Jenkins可以通过此凭证拉取我们的代码。

需要打开系统管理->Manage Credentials

如下图所示,找到作用域添加我们的凭证。

选择类型为用户名密码类型。

填写用户名,密码。点击创建。 也可以选择ssh类型,你需要配置相关的ssh凭证,我这里直接用的用户名密码来做的。

👗安装Maven插件

因为我们是通过Maven去实现自动化部署后端项目,首先我们需要安装Maven插件。😀

如果你是Gradle项目,可以下载Gradle插件,跟Maven插件类似。

打开我们的Jenkins如下图所示,点击系统管理。

打开插件管理。

因为我已经安装过了,你们需要点Available plugins,搜索Maven安装。

🎃Maven全局配置

安装完Maven插件后,需要打开系统管理->全局工具配置

如下图所示,配置自己的Maven的setting.xml文件。

配置完后下拉,如下图所示,如果你本地没有Maven的话,可以在这里把自动安装勾上,如果已经有了不需要勾,配置我们的MavenHome如下图所示就可以了。

💞创库构建任务

如下图所示,点击新建任务。

我们选择构建一个Maven项目

🕹️配置任务
描述配置

对此任务的描述。

配置参数。

选择参数化构建

可选很多参数,这里我给大家演示的是文本参数。

新增了两个文本参数,一个是branch:构建的分支,也就是代码的分支。一个是tag,打包成镜像的版本号

配置源码

配置我们的git,如下图所示。

配置创库的URL。

配置凭证:选择上面我们配置的凭证。

指定分支:选择需要构建的分支,这里用到我们上面配置参数化构建的branch,注意需要用${}括起来。

配置Build

如下图所示,找到Build。

填写Maven打包命令。

clean package -U -Dmaven.testskip=true 

配置Post Steps

如下图所示,我们选择run only if build succeeds,选择执行shell。

填写你在build成功后要执行的shell脚本。因为这里我们是docker部署的,如下脚本命令,这里可以根据你的实际情况配置脚本。

#构建镜像 docker build -f Dockerfile -t xxxx:${tag} . #进入docker compose目录 cd /home/ #停止运行的容器 docker stop xxx #通过docker compose命令启动容器 docker-compose up -d xxxxx 
🎮开始构建

如下图所示,选择构建并且带有参数。可以看到我们配置的两个参数,你可以根据你的实际情况,配置分支,镜像版本。

📃查看日志

如下图所示,点击进去。

点击控制台输出

我们就可以看到控制的每一步了。如下图所示,构建成功。

验证的化,这里就不给大家演示了,你们自行验证噢。

到这里Jenkins实现自动化部署后端项目就结束咯。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!


http://www.mrgr.cn/news/31255.html

相关文章:

  • 万魔头戴式耳机怎么样?万魔、西圣、JBL三款旗舰机型激战评测!
  • Vue 修饰符 | 指令 区别
  • 【秋招笔试】09.20-58同城秋招(已改编)-三语言题解
  • Python基础
  • Python教你用20行代码做一个骰子模拟博弈游戏
  • Rocprofiler测试
  • Redis-01 入门和十大数据类型
  • 2024年8月月终总结
  • 初探哲学世界
  • 24.9.2-24.9.20第一次周总结
  • 数据处理与统计分析篇-day07-Pandas数据拼接与空值处理
  • 智能新时代,游戏盾守护顺畅体验
  • HarmonyOS 应用获取公钥和 MD5 指纹签名信息
  • 如何将 JxBrowser 添加到 Maven 项目中
  • 利士策分享,周末时光:一场自我充实的精致规划
  • mybatisplus中id生成策略
  • 【Android源码】屏蔽系统通知出现在系统栏中
  • Netty源码解析-请求处理与多路复用
  • 甲基化组学全流程分析(适用于27k的甲基化数据)
  • 基于SpringBoot+Vue的校园失物招领系统