centOS部署Jenkins实现项目可持续自动化部署

个人看的是尚硅谷的视频,跟着实战,但因为视频是21年的,所以很容易出现jenkins插件不适配问题。
因而个人直接用较新版的jdk和jenkins.

先切换到root用户

sudo su

一、安装jdk

先查询可安装版本

yum list java*

在这里插入图片描述

安装jdk(只复制圈中的部分即可)
tip:不要安装太低版本的,因为jenkins要安装较新版本,不然很多插件不兼容

yum install java-1.8.0-openjdk

二、安装git

yum install -y git

三、安装maven

1.下载maven安装包

maven下载官网

在这里插入图片描述

2.上传maven到服务器

下载XFTP

可以通过账号密码或者SSH的方式进行连接

在这里插入图片描述

可以在服务器页面获取账号密码

在这里插入图片描述

连接建立之后只需要把文件从左边的本地拖拽到右侧的服务器就行。

3.解压压缩包

登录服务器命令行,去到压缩包所在目录,利用命令解压压缩包,

tar -xzvf apache-maven-3.9.9-bin.tar.gz

在这里插入图片描述

4.为了mvn全局可用,可以配置一个软链接

命令:

ln -s 源文件所在路径 /usr/bin/mvn

先进入到解压后maven文件夹的bin目录,然后通过pwd查看当前目录路径,然后将路径复制替换上面命令的“源文件所在路径”,然后执行命令
在这里插入图片描述

四、安装jenkins

tips:

jenkins安装之后,默认的工作路径是root/.jenkis,该路径是隐藏路径,需要用ls -a才能看到。
拉取之后的项目在workspace里面,编译之后的代码以及jar包在具体的项目里面。

1.下载jenkins

下载官网
在这里插入图片描述
挑一个较新版本的下载

2.通过XFTP将文件传到服务器上

参考前面maven上传

3.启动jenkins

然后登录服务器命令行窗口,来到jenkins.war的路径下,启动jenkins

java -jar jenkins.war

在这里插入图片描述

打印的日志还会有一个随机生成的密码,复制下来。

4.配置jenkins

然后可以在浏览器根据ip:8080端口访问,需要稍微等待

在这里插入图片描述

将前面日志里面生成的密码复制到框里面

在这里插入图片描述
点击安装推荐的插件,然后等待安装

在这里插入图片描述

创建用户

在这里插入图片描述

5.安装maven项目插件

点击左侧系统管理,往下拉找到插件管理点进去,然后找到可用插件,搜索maven,勾选该插件,点击右侧下载。
在这里插入图片描述

等待下载完成,然后回到主页,点击左上角的新建任务,出现如下选项代表插件安装成功

在这里插入图片描述

6.创建持续化构建任务

输入任务名,选中构建maven项目,点击确定

在这里插入图片描述

从上往下拉,看到源码管理,选择Git,并把从github拿到的项目地址填上去
在这里插入图片描述

点击下方的Add Branch,选择要构建的分支,然后拉到下方build,设置maven构建命令,然后一直拉到最下方点击保存。
在这里插入图片描述

7.配置maven

回到主页,点击左侧系统管理,下拉找到全局工具配置,再下拉找到maven安装,随便起个名字,填入maven所在的路径,确定保存。
在这里插入图片描述

回到主页,点击右侧的按钮构建项目在这里插入图片描述
点击项目名称,还可以进入到项目内部查看更多细节
在这里插入图片描述

点击左下角的构建记录,点进去可以看到构建日志
在这里插入图片描述
至此,自动化构建结束。
后续可以在构建结束后加上一些shell命令来将构建完成的包传到应用服务器,并调用命令部署。(也是在创建任务内部设置的)

拓展学习

流水线部署,jenkins集群部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/454665.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】归并排序概念及例题运用

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

爬虫日常实战

爬取美团新闻信息,此处采用两种方法实现: 注意点:因为此处的数据都是动态数据,所以一定要考虑好向下滑动数据包会更新的情况,不然就只能读取当前页即第一页数据,方法一通过更新ajax数据包网址页数&#xf…

vscode 预览markdown 文件

1. 点击左边扩展 2. 搜索“Markdown Preview Enhanced” 3. 选第一个安装即可 4. 重启vscode 5. 打开一个markdown 文件 6. 点击右上角的预览按钮

[mysql]mysql的全部单行函数

单行函数 几乎我们认识的语言都会对一些常用的功能进行,封装,有些叫函数,有些叫方法(Java),后期我们还可以自定义函数. 现在我们就当大家是没有语言基础,我们来从头开始讲.不过大家肯定接触过,中学说的函数,yf(x)f代表的就是function的缩写,这里其y2x1fx代表的就是封装的内容…

FileLink内外网文件交换——致力企业高效安全文件共享

随着数字化转型的推进,企业之间的文件交流需求日益增加。然而,传统的文件传输方式往往无法满足速度和安全性的双重要求。FileLink作为一款专注于跨网文件交换的工具,致力于为企业提供高效、安全的文件共享解决方案。 应用场景一:项…

C++大沥2019年真题——数字圈

Hi!大家好!Im#张亿,今天来讲C大沥2019年真题——数字圈 题目描述 当我们写数字时会发现有些数字有封闭区域,有的数字没有封闭区域。 数字 0 有一个封闭区域,数字 1、2、 3 都没有封闭区域,数字 4 有一个封…

word中的内容旋转90度

在vsto、Aspose.Words 中,默认没有直接的 API 可以让表格整体旋转 90 度。然而,我们可以通过一些方式来实现类似的效果,具体思路如下: 将表格插入到一个形状(Shape)或文本框中,然后旋转该形状。…

《RECONX: RECONSTRUCT ANY SCENE FROM SPARSEVIEWS WITH VIDEO DIFFUSION MODEL》论文阅读

论文地址:https://arxiv.org/pdf/2408.16767 项目地址:GitHub - liuff19/ReconX: ReconX: Reconstruct Any Scene from Sparse Views with Video Diffusion Model ---------------------------------------------------------------------------------…

2019年计算机网络408真题解析

第一题: 解析:OSI参考模型第5层完成的功能 首先,我们需要对OSI参考模型很熟悉:从下到上依次是:物理层-数据链路层-网络层- 运输层-会话层-表示层-应用层,由此可知,题目要问的是会话层的主要功能…

什么是感知与计算融合?

感知与计算融合(Perception-Computing Fusion)是指将感知技术(如传感器、摄像头等)与计算技术(如数据处理、人工智能等)有机结合,以实现对环境的更深层次理解和智能反应的过程。该技术广泛应用于…

基于SSM品牌银饰售卖系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,促销活动管理,饰品管理,我的收藏管理,系统管理,订单管理 用户账号功能包括:系统首页,个人中心,…

新书速览|Android智能座舱开发:从源码到实践

《Android智能座舱开发:从源码到实践》 本书内容 《Android智能座舱开发:从源码到实践》是一本专注于Android智能座舱系统开发与优化的实战指南。《Android智能座舱开发:从源码到实践》共9章,第1章从搭建源码编译环境开始,详细指导读者如何下载和编译An…

活体人脸识别技术总结及实践

文章目录 1、背景2、人脸反伪装技术2.1 活体人脸识别常见模式2.2 学术上反伪装研究 3、工程实现3.1 Silent-Face3.2 Silent-Face模型转rknn3.3 Silent-Face模型的限制 1、背景 1.1 什么是活体检测? 在人脸识别之前,先判断一下屏幕前摄像头捕捉到的人脸是…

深度解析RLS(Recursive Least Squares)算法

目录 一、引言二、RLS算法的基本思想三、RLS算法的数学推导四、RLS算法的特点五、RLS算法的应用场景六、RLS算法的局限性七、总结 一、引言 在自适应滤波领域,LMS(Least Mean Squares)算法因其计算简单、实现方便而广受欢迎。然而&#xff0…

【leetcode|哈希表、动态规划】最长连续序列、最大子数组和

目录 最长连续序列 解法一:暴力枚举 复杂度 解法二:优化解法一省去二层循环中不必要的遍历 复杂度 最大子数组和 解法一:暴力枚举 复杂度 解法二:贪心 复杂度 解法三:动态规划 复杂度 最长连续序列 输入输…

【数据结构与算法】时间、空间复杂度详解

大家有没有遇到过,为什么有些程序跑得飞快,而有些程序却慢得让人抓狂?我们可能都是这样认为的:他写的程序效率高等等,确实如此。但这背后隐藏着两个重要的概念:时间复杂度和空间复杂度。它们就像程序的“效…

算法题总结(十九)——图论

图论 DFS框架 void dfs(参数) { if (终止条件) {存放结果;return; }for (选择:本节点所连接的其他节点) {处理节点;dfs(图,选择的节点); // 递归回溯,撤销处理结果 } }深搜三部曲 确认递归函数,参数确认终止条件处理目前搜索节…

Windows系统启动MongoDB报错无法连接服务器

文章目录 发现问题解决办法 发现问题 1)、先是发现执行 mongo 命令,启动报错: error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017; 2)、再检查 MongoDB 进程 tasklist | findstr mongo 发现没有进程&a…

爬虫基础--requests模块

1、requests模块的认识 requests模块的认识请跳转到 requests请求库使用_使用requests库-CSDN博客 2、爬取数据 这里我们以b站动漫追番人数为例。 首先进去b站官网 鼠标右键点击检查或者键盘的F12,进入开发者模式。(这里我使用的是谷歌浏览器为例&#…

【JVM】—深入理解G1回收器—回收过程详解

深入理解G1回收器—回收过程详解 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 文章目录 深入理解G1回收…