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

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.mrgr.cn/news/54570.html

相关文章:

  • JAVA课设-图书指引系统(前后端分离)
  • React开发一个WebSocket
  • PMOS和NMOS管
  • 搭建LeNet-5神经网络,并搭建自己的图像分类训练和测试的模板,模板通用!!!均有详细注释。
  • 【AIGC】2024-arXiv-使用 B-LoRA 进行隐式风格-内容分离
  • 数据结构(线性表)
  • LLM | Hugging Face | 如何利用几句代码实现强大的AI效果(pipeline)?
  • Java 方法引用详解
  • 以简单组合优化为例讨论计算复杂性
  • 网球循环赛日程表生成算法[循环右移迭代算法]
  • (44)MATLAB读取语音信号进行频谱分析
  • Codeforces Round 979 (Div. 2)
  • Spark 基础概念
  • Systemd: service传递进程参数
  • ip-geoaddress-generator 基于IP的真实地址生成器
  • STM32F407变量地址如何指定到iram1
  • 项目模块四:Channel模块
  • 世界脑力锦标赛资料,最强大脑教程
  • 同济子豪兄--传统图机器学习的特征工程-节点【斯坦福CS224W】
  • 为图片添加水印(Python)
  • 控制系统 状态观测问题 Kalman卡尔曼(附MATLAB实现)
  • 深入剖析:神经网络的结构与功能解读
  • Monorepo 管理多个包
  • SpringBoot项目整合Knife4J
  • Spark 同步 MySQL 数据到 Hive:技术实践与代码示例
  • Python内存管理入门:理解和优化你的代码