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.xdnf.cn/news/1540425.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

9.20作业

手动封装一个顺序表(SeqList),分文件编译实现 有私有成员: 顺序表数组的起始地址 ptr、 顺序表的总长度:size、顺序表的实际长度:len 成员函数: 初始化 init(int n) 判空:empty 判满&#xff1…

计算机毕业设计 美发管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Chat2VIS: Generating Data Visualizations via Natural Language

Chat2VIS:通过使用ChatGPT, Codex和GPT-3大型语言模型的自然语言生成数据可视化 梅西大学数学与计算科学学院,新西兰奥克兰 IEEE Access 1 Abstract 数据可视化领域一直致力于设计直接从自然语言文本生成可视化的解决方案。自然语言接口 (NLI) 的研究为这些技术的…

从虚拟到现实:数字孪生与数字样机的进化之路

数字化技术高速发展的当下,计算机辅助技术已成为产品设计研发中不可或缺的一环,数字样机(Digital Prototype, DP)与数字孪生技术便是产品研发数字化的典型方法。本文将主要介绍数字样机与数字孪生在国内外的发展,并针对…

Java 并发编程 —— AQS 抽象队列同步器

文章目录 什么是 AQS底层数据结构—— CLH 队列入队和出队状态标志位AQS 的代码设计思路AQS 提供的钩子方法参考资料 什么是 AQS AQS 是 JUC 提供的一个用于构建锁和同步容器的基础类,用于减少由于无效争夺导致的资源浪费和性能恶化。JUC 包内的许多类都是基于 AQS…

【JPCS出版】第四届电气工程与计算机技术国际学术会议(ICEECT 2024,9月27-29)

会议信息 会议官网:www.iceect.com 2024 4th International Conference on Electrical Engineering and Computer Technologywww.iceect.com 时间地点:2024年9月27日-29日 | 线上(ZOOM) 最终截稿时间:9月23日 主办…

【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略

文章目录 C类与对象前言读者须知RVO 与 NRVO 的启用条件如何确认优化是否启用? 1. 按值传递与拷贝省略1.1 按值传递的概念1.2 示例代码1.3 按值传递的性能影响1.3.1 完全不优化 1.4 不同编译器下的优化表现1.4.1 Visual Studio 2019普通优化1.4.2 Visual Studio 202…

2024.9.20营养小题【1】

这道题并不难,但是通过这道题,对知识有了一些更深一点的理解吧。 我们知道,数组名代表的其实是数组中首元素的指针;字符串其实是一个数组;所以字符串名是指向字符串中首元素地址的指针;strlen(字符串名&am…

Spring Boot利用dag加速Spring beans初始化

1.什么是Dag? 有向无环图(Directed Acyclic Graph),简称DAG,是一种有向图,其中没有从节点出发经过若干条边后再回到该节点的路径。换句话说,DAG中不存在环路。这种数据结构常用于表示并解决具有依赖关系的问题。 DAG的…

什么是损失函数?常见的损失函数有哪些?

损失函数 什么是损失函数?损失函数作用如何设计损失函数常见的损失函数有哪些? 什么是损失函数? 损失函数(Loss Function),也称为误差函数,是机器学习和深度学习中的一个重要概念。它用于衡量模…

python怎么打开编辑器

1、在电脑开始菜单中点击所有程序,找到Python程序,点击其中idle。 2、然后点击左上角的“File”,打开菜单,在下拉菜单中选择“New File”选项,就可打开python编辑器了。 3、在打开的python编辑器中就可以输入自己想写的…

105.游戏安全项目-基址的技术原理-分析技巧

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信…

如何衡量企业品牌力?判断指标有哪些?

企业品牌力是指品牌在市场中的竞争力和影响力,它反映了品牌的价值、知名度、忠诚度、感知质量、差异化以及市场表现等方面。要去衡量一个企业的品牌力,大多从品牌的知名度、忠诚度、所占市场份额、顾客口碑、社媒影响力、品牌资产价值等多方面去判断。我…

sqoop的安装与简单使用

文章目录 一、安装1、上传,解压,重命名2、修改环境变量3、修改配置文件4、上传驱动包5、拷贝jar包 二、import命令1、将mysql的数据导入到hdfs上2、将mysql的数据导入到hive上3、增量导入数据 三、export命令1、从hdfs导出到mysql中2、从hive导出到mysql…

企业微信oauth2提示应用无法使用

问题描述: 生成oauth2之后,我a公司是服务商,我给b公司的人去点授权链接会提示这个 应用服务商还没有在企业微信为你开通接口调用许可」,导致无法使用此应用,请联系服务商开通 正文 你先要知道一件事!&…

Jenkins私有化部署

最终目标 与GitLab配合,实践前端自动化,详细内容移步基于Jenkins和GitLab的前端自动化实践 前置条件 一台云服务器云服务器上已安装Docker了解Docker基础 使用Docker安装Jenkins 参考github文档安装 docker run --name docker_jenkins --privilege…

操作系统 --- 进程的同步和互斥问题以及进程互斥实现方法(软件、硬件实现)、同步机制遵循的四条准则

目录 一、进程同步 二、进程互斥 三、进程互斥的实现方法 3.1 软件实现 3.1.1 单标志法(存在的主要问题:违背“空闲让进”原则) 3.1.1.1 基本思想 3.1.1.2 单标志法的基本概念及执行流程 3.1.1.3 特点 3.1.2 双标志先检查法&#…

进程间的通信 2 消息队列

system V IPC IPC : Inter-Process Communication (进程间通讯) System V IPC 对象共有三种: 消息队列共享内存信号量 System V IPC 是由内核维护的若干个对象,通过ipcs命名查询 每个 IPC 对象都有一个唯一的 ID,可以通过ftok()函数生成 …

使用SoapUI、Postman工具调用Webservice方法

SoapUI工具更适合调用Webservice使用。 1.使用SoapUI工具调用Webservice 创建“New SOAP Project” 自行定义一个项目名称,输入wsdl地址: 在左侧列表找到方法名,双击“Request 1”, 在请求数据中,添加对应的参数,然…

Linux--禁止root用户通过ssh直接登录

原文网址:Linux--禁止root用户通过ssh直接登录_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux服务器怎样禁止root用户通过ssh直接登录。 为什么要禁止? 因为root用户是每个Linux系统都有的,黑客可以使用root用户名尝试不同的密码来暴力破…