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

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.kler.cn/news/312333.html

相关文章:

  • ubuntu安装emqx
  • Vue(13)——router-link
  • MATLAB基本语句
  • LLM(大语言模型)和AIGC入门学习路线图,零基础入门到精通,收藏这一篇就够了
  • JVM 调优篇5 jvm性能监控
  • DHCP服务(relay中继)实验简述
  • OpenCV绘制ROI区域(五)
  • constexpr与const的区别
  • 【正负交替的分数求和】
  • Linux环境基础开发工具---vim
  • 4×4矩阵键盘详解(STM32)
  • 什么是 WebApiEngine?
  • C#中单例模式CSingleton
  • 前端如何快速调试线上问题
  • react的组件的概念和使用
  • 家庭聚餐:用白酒传递亲情与温暖
  • 滚雪球学SpringCloud[4.2讲]: Zuul:Netflix API Gateway详解
  • 浅谈vue2.0与vue3.0的区别(整理十六点)
  • npm run build报Cannot find module错误的解决方法
  • 誉龙视音频 Third/TimeSyn 远程命令执行复现
  • weblogic CVE-2020-14882 靶场攻略
  • 【百日算法计划】:每日一题,见证成长(018)
  • pytorch使用技巧
  • Designify——AI优化图像设计,自动去背景、调整构图、添加视觉效果,创建高质量的设计图像
  • 2024 Oracle CloudWorld的信息量实在太大了
  • Pikachu靶场之XSS
  • Leetcode面试经典150题-97.交错字符串
  • 记一次kafka消息丢失问题排查
  • [SDX35+WCN6856]SDX35 + WCN6856 WiFi可以up起来之后无法扫描到SSID
  • 7.sklearn-逻辑回归、精确率和召回率、ROC曲线和AUC指标