JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)

时隔八个月终于要更新这篇文章了
第一次Jenkins 只是单纯的做了git拉取并下载 但是后续步骤始终没有玩明白, 在 21年的十二月,终于手上的工作少了很多,有空把Jenkins玩一遍了
现在是讲述一篇前后端的一个环境部署 前端 Java-spring Boot2.x+maven 的一个环境配置(微服务的区别在于是多个spring boot 或者多部署个网关什么的,还有就是环境设置这块) 前端vue 项目,利用jenkins 的node插件进行打包部署 流程是在于一个虚拟机上进行拉取代码打包,然后远程发送jar包/dist压缩包 后续在跟上对应的命令进行配合

环境搭建

1、Java 环境

这次尝下鲜用的是国内的站点:但是还是要Oracle 账号 自己有的就进去直接下载自己相互环境所用的就行,没有的话试下这个网站里面的吧(http://bugmenot.com/view/oracle.com)
https://www.oracle.com/cn/java/
我这里自己下载好传到虚拟机上的
利用xftp传输
自己传在你想要的路径下 记清楚就行
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第1张图片

# 解压jdk压缩包
tar xvf jdk-8u311-linux-x64.tar.gz (自己下载的哪个解压哪个就行了,不要无脑复制)

,下图文件中是解压好的目录
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第2张图片
配置Java 的环境变量

vim /etc/profile		#在最后两行添加以下两句
		export JAVA_HOME=/usr/local/java/jdk-8u311-linux-x64		#这里替换你安装的真实路径
		export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile		#立即生效

最后 验证下就可以了
java -version

2、maven 环境

自己项目的maven版本啊。。不知道新版本的会不会出什么问题,不过个人建议还是安装自己版本的maven环境比较好
maven官网https://maven.apache.org/download.cgi
image.png
我这里按照我的项目走了 maven3.5.4的
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第3张图片
image.png
点击即可下载
安装到你喜欢的目录下解压即可
下载安装完后老规矩 配置环境变量

vim /etc/profile		#在最后两行添加以下两句
		MAVEN_HOME=/usr/local/Maven/apache-maven-3.5.4  #自己maven的安装目录
		export PATH=${MAVEN_HOME}/bin:${PATH}	
source /etc/profile		#立即生效

验证:

mvn -version

然后按照你自己的需求配置maven中的东西即可
修改仓库存储地方,和 下载源 通用配置

3、安装git

直接装就行一键搞定

yum -y install git

4、node.js安装

前后端分离项目自然少不了node.js
https://nodejs.org/en/download/ 搜索官网进行下载即可
也可以直接通过命令

1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例:
// 下载安装node.js 借鉴菜鸟教程
wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz
#上面这个版本比较老 根据自己的需求安装版本
2、解压源码

tar zxvf node-v0.10.24.tar.gz
3、 编译安装
cd node-v0.10.24
./configure --prefix=/usr/local/node/0.10.24
make
make install

然后就是配置变量环境 和maven 和java 没什么区别

vim /etc/profile

	export NODE_HOME=/usr/local/node/0.10.24 #这里都是自己的环境  根据自己来
	export PATH=$NODE_HOME/bin:$PATH	

#最后保存重新加载即可
source /etc/profile

最后验证下就ok了

node -v

安装jenkins

下载安装

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum -y install jenkins

这里我出现了个问题就是说安全验证的问题
可能网站ssl过期了 后缀加上系统给的提示就行

放行运行端口
配置jenkins

vim /etc/sysconfig/jenkins
	JENKINS_PORT="8080"			#监听端口
	JENKINS_USER="root"			#运行用户  
 #修改权限  默认权限是jenkins的
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

根据自己的设置

firewall-cmd --add-port=8080/tcp
firewall-cmd --add-port=8080/tcp --per    

启动jenkins
jenkins 默认走的软连接启动的 先检查下Java 软连接

ll /usr/bin/java		#查看是否存在此文件

有的话直接启动即可

systemctl restart jenkins
systemctl enable jenkins

若不存在此文件:

ln -s /usr/local/java/jdk1.8.0_311/bin/java /usr/bin/java		#根据自己的Java惊醒创建软连接
systemctl restart jenkins
systemctl enable jenkins

如果失败检查下自己的jenkins

服务启动成功后即可访问自己的IP:8080 就能访问的jenkins了

开始使用jenkins

1、解锁Jenkins

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第4张图片

按照上方提示 找到自己的Jenkins 默认密码

2、安装推荐的即可 后面我会逐个安装需要的

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第5张图片
安装完成后 创建自己的用户即可,下载失败也不要紧 可以在后面 插件管理的地方重新下载

下图是整个的jenkins 页面
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第6张图片

插件应用:

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第7张图片

如图会出现红色的方框 携带这提示错误,根据我选中的部分可看出是哪个插件出了问题在插件管理的地方对应修复下

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第8张图片
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第9张图片

筛选下自己需要修复的插件

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第10张图片

所有插件安装完后需要重启才有用哦!!!!!!

异常问题

image.png
出现这种种情况,要么改变你的网络现状要么,进行手动安装即可
image.png

通常这个地方都是文件的下载地址 可通过自己电脑下载 然后上传手动装载插件
教程:
插件管理中选择高级
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第11张图片

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第12张图片
上传完之后重启即可

中文插件安装

看下这篇博客
https://blog.csdn.net/w294954902/article/details/82587295

安装额外插件

1、maven 插件

插件中心处 可选择插件搜索Maven Integration plugin即可
如果下载失败,还用我上面的方法就可以了

2、publish over ssh 用于远程发送

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第13张图片

3、gitee 插件 用的不是gitee的可以搜下都应该有对应教程

https://gitee.com/help/articles/4193

4、安装node插件

插件中心处 可选择插件搜索Node即可

全局变量配置

这个设置主要就是方便部署多条流水线的
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第14张图片

配置maven

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第15张图片
配置自己的maven 下的setting 文件目录地址

JDK

名字看自己喜好,Java_HOMEZ主要看你自己的jdk装在哪里
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第16张图片

maven

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第17张图片
上面讲述了maven的安装 根据自己的版本来
Name 无所谓 我是按版本来的看个人喜好

NodeJs

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第18张图片
全部都是根据环境搭建中的环境变量所配置

Publish over SSH

系统设置中,注意:需要将服务器 配置为密钥访问
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第19张图片
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第20张图片
找到此处,将你所要连接的服务器节点的sshkey 填入下方的key中
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第21张图片
add 一个ssh server
name看自己定义
后面的节点和用户配置一下
remote directory
即为你要发送文件的目标地址
最后Test 测试一下 success 即可成功配置

======================================================================

=分割线=========

======================================================================

流水线搭建

现在准备工作已经全部完成了,我们开始创建我们的流水线了

1、Java 项目

选择构建一个maven 项目 任务名称根据自己的来
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第22张图片

1、General

简单的一个项目介绍
选中第一个构建策略 根据自己的实际需求来设置即可

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第23张图片

2、源码管理

填入自己源码的地址,添加自己的凭证进行验证测试看看是否能连接上(会自动测试,如果出现红色提醒代表无法认证,也无法拉取代码)
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第24张图片

3、构建触发器

此处可通过gitee的 webhook进行触发,详细使用方法要自己探索一下哟 可以有很多方式进行触发要看下自己所用的代码托管其 配合使用
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第25张图片

4、构建环境

构建前

添加构建触发前的操作 选择SSH Server 即7我们在配置Publish over SSH 中配置的节点 此处的目标文件 会以在配置中的路径+现在你所填的路径
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第26张图片

我这里服务器用的宝塔的守护进程面板构建前目的是为了停止 服务
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第27张图片

构建后

我是选中了工作区中的所有打包好的jar包 可以多选 用“,”隔开即可 后面是执行了一个重启的脚本命令
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第28张图片

Pre steps

maven 项目当然最重要的就是打包了
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第29张图片
pom 最上级的一个pom文件
下面是一个执行的命令,根据你pom的环境配置来填写

Post Steps

最后就是添加了个简单的构建成功的提示信息
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第30张图片

附上提示代码:


set str=chenjie你好,jenkins已经完成了maven工程的构建任务!时间是:
 
set d=%date:~0,10% 
 
set t=%time:~0,8% 
 
set "log=%str%%d%%t%"

2、Vue 项目自动部署

1、建造一个自由风格的项目

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第31张图片

2、General

上面建造Java流水线的时候有介绍,可以按照自己的理解 模仿一个即可

3、源码管理

同Java一样

4、触发器

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第32张图片

5、构建环境

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第33张图片

6、构建

我这里是通过shell 命令进行打包,压缩的
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第34张图片
添加shell命令
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第35张图片
附上自己的shell脚本

#!/bin/bash
echo 构建_01注册淘宝镜像
npm config set registry https://registry.npm.taobao.org
echo 构建_02检查注册结果
npm config get registry
echo 构建_03依赖安装
npx -p npm@6 npm i --legacy-peer-deps
npm run pre
echo 升级webpack
npm add webpack@4.5.0
echo 构建_04编译打包
npm run build
#!/bin/bash
echo 构建后处理_01压缩编译包
tar -czvf dist.tar.gz dist

7、构建后操作

JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第36张图片

echo "解压文件"
tar -zxvf /www/wwwroot/hsbc.admin.com/dist.tar.gz -C /www/wwwroot/hsbc.admin.com/
echo "解压完成"
echo "删除文件"
rm -rf /www/wwwroot/hsbc.admin.com/dist.tar.gz  # 删除压缩文件

end:配置小技巧

1、SSH 多节点问题

大家肯定有部署到不同linux 主机上的问题,这是shh 密钥可能没有配置一摸一样的、jenkins的ssh插件当然也可以多配置
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第37张图片
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第38张图片

2、git 克隆代码超时问题

流水线的 源码管理处 —操作如下图即可自定义代码拉去超时时长

检出时长设置:
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第39张图片

image.png
克隆和拉去时长设置:
JenKins 自动化部署(Spring boot2.x+maven+gitee + Vue)_第40张图片

你可能感兴趣的:(jenkins,自动化,spring,boot,vue)