热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【RuoYiVuePlus】扩展笔记04CentOS8配置Jenkins自动发布

文章目录前言准备环境安装步骤1、Maven安装2、Jenkins安装3、Jenkins配置3.1、配置Maven3.2、配置Git4、配置项目4.1、源码管理4.2、构建前言一般



文章目录


    • 前言
    • 准备环境
    • 安装步骤
      • 1、Maven 安装
      • 2、Jenkins 安装
      • 3、Jenkins 配置
      • 3.1、配置 Maven
      • 3.2、配置 Git
      • 4、配置项目
      • 4.1、源码管理
      • 4.2、构建




前言

一般来说,很多用【RuoYi-Vue-Plus】框架的朋友都是用 Docker 部署的,这篇笔记主要是写给那些直接运行 jar 的新手朋友,以及顺便整理一下以前的笔记,记录一下过程中遇到的一些坑。

准备环境


  • Jenkins 2.346.3(配套 JDK 1.8)
  • JDK 1.8.0_191
  • Maven 3.8.6
  • Git 2.9.5

安装步骤


1、Maven 安装

因为网络原因,下载镜像比较慢,所以直接到官网下载压缩包安装。

下载传送门
在这里插入图片描述

# 解压
cd /usr/local
tar -zxvf apache-maven-3.8.6-bin.tar.gz
# 配置环境变量
vim /etc/profile
# 在末尾增加配置
export MAVEN_HOME=/usr/local/apache-maven-3.8.6
export PATH=$MAVEN_HOME/bin:$PATH
# 配置生效
source /etc/profile
# 校验
mvn -v

在这里插入图片描述

2、Jenkins 安装

坑1:版本不对应导致无法启动。

文章开头就强调了 Jenkins 版本以及 JDK 版本,因为一直用 JDK 1.8,所以一开始配置好 JDK 环境之后,直接就拉了最新版的 Jenkins 安装,后面就一直报错。

Jenkins 官方文档说明:
在这里插入图片描述
试过装了 OpenJDK 11 也是有问题,所以后面选择装了低版本 2.346.3,使用 war 包直接运行。下载传送门

# 创建软连接( Jenkins 默认路径 /usr/bin/java )
ln -s /usr/java/jdk1.8.0_191/bin/java /usr/bin/java
# war 包启动
cd /usr/local/jenkins
nohup java -jar jenkins.war &
# 查看结果
tail -100f nohup.out

在这里插入图片描述
启动成功后访问页面

http://:8080

安装的时候没有截图,所以有些地方不一样会标注出来。

用上面的密码解锁,然后开始安装。
在这里插入图片描述

下面就不一一截图了,操作并不复杂,我大致写一下流程:

  1. 完成上面的解锁。
  2. 安装推荐的插件,等待安装完毕。
  3. 创建账户。

在这里插入图片描述
看到这里代表安装完成。

3、Jenkins 配置

在这里插入图片描述

3.1、配置 Maven

在这里插入图片描述

3.2、配置 Git

坑2:Jenkins Git 版本太低导致无法连接远程仓库。

这里一开始是找不到 Git 路径,在系统找到路径并且填写之后在后面配置项目的时候会有问题(报错 Failed to connect to repository),所以这里需要自行在服务器安装一个 Git。

具体步骤请参考:jenkins添加Git项目时报错Failed to connect to repository : Error performing git command: git ls-remote -h(春天的菠菜)

安装完成后配置地址:
在这里插入图片描述

4、配置项目

经过前面的步骤之后终于到配置项目的环节了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.1、源码管理

复制远程仓库地址:
在这里插入图片描述
在这里插入图片描述

4.2、构建

在这里插入图片描述
打包脚本:
在这里插入图片描述
这里命令表示跳过测试,指定打包 test 环境(根据实际情况设置)

mvn clean package -Dmaven.test.skip=true -P test

部署运行脚本:
在这里插入图片描述

#!/bin/bash
PID=$(ps -ef | grep ruoyi-admin.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo "程序未启动。"
else
echo "程序在启动中,正在停止..."
kill -9 $PID
fi
# backup
cd /usr/jar/ruoyi-vue-plus-9595
rm -rf *bak
cp ruoyi-admin.jar ruoyi-admin.jar.bak
OLD_BUILD_ID=$BUILD_ID
BUILD_ID=dontKillMe
# copy new jar to dest
cd /root/.jenkins/workspace/RuoYi-Vue-Plus-Fork/ruoyi-admin/target
cp ruoyi-admin.jar /usr/jar/ruoyi-vue-plus-9595
echo '开始启动程序 ...'
cd /usr/jar/ruoyi-vue-plus-9595
nohup java -jar ruoyi-admin.jar &
echo "starting ruoyi-admin..."
BUILD_ID=$OLD_BUILD_ID
sleep 20
#根据重启后是否有当前应用判断启动是否成功
endPID=$(ps -ef | grep ruoyi-admin.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$endPID" ]
then
echo "程序启动失败。"
else
echo "程序重启成功...pid:"${endPID}
fi

注意:根据自己的项目情况修改文件路径以及文件名。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一次打包需要下载依赖时间会比较久,请耐心等待。

在这里插入图片描述
在这里插入图片描述
执行完毕,项目启动成功。






推荐阅读
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
author-avatar
非徒雨思_184
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有