时隔八个月终于要更新这篇文章了
第一次Jenkins 只是单纯的做了git拉取并下载 但是后续步骤始终没有玩明白, 在 21年的十二月,终于手上的工作少了很多,有空把Jenkins玩一遍了
现在是讲述一篇前后端的一个环境部署 前端 Java-spring Boot2.x+maven 的一个环境配置(微服务的区别在于是多个spring boot 或者多部署个网关什么的,还有就是环境设置这块) 前端vue 项目,利用jenkins 的node插件进行打包部署 流程是在于一个虚拟机上进行拉取代码打包,然后远程发送jar包/dist压缩包 后续在跟上对应的命令进行配合
这次尝下鲜用的是国内的站点:但是还是要Oracle 账号 自己有的就进去直接下载自己相互环境所用的就行,没有的话试下这个网站里面的吧(http://bugmenot.com/view/oracle.com)
https://www.oracle.com/cn/java/
我这里自己下载好传到虚拟机上的
利用xftp传输
自己传在你想要的路径下 记清楚就行
# 解压jdk压缩包
tar xvf jdk-8u311-linux-x64.tar.gz (自己下载的哪个解压哪个就行了,不要无脑复制)
vim /etc/profile #在最后两行添加以下两句
export JAVA_HOME=/usr/local/java/jdk-8u311-linux-x64 #这里替换你安装的真实路径
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #立即生效
最后 验证下就可以了
java -version
自己项目的maven版本啊。。不知道新版本的会不会出什么问题,不过个人建议还是安装自己版本的maven环境比较好
maven官网https://maven.apache.org/download.cgi
我这里按照我的项目走了 maven3.5.4的
点击即可下载
安装到你喜欢的目录下解压即可
下载安装完后老规矩 配置环境变量
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中的东西即可
修改仓库存储地方,和 下载源 通用配置
直接装就行一键搞定
yum -y install git
前后端分离项目自然少不了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
下载安装
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 默认密码
安装完成后 创建自己的用户即可,下载失败也不要紧 可以在后面 插件管理的地方重新下载
如图会出现红色的方框 携带这提示错误,根据我选中的部分可看出是哪个插件出了问题在插件管理的地方对应修复下
筛选下自己需要修复的插件
所有插件安装完后需要重启才有用哦!!!!!!
通常这个地方都是文件的下载地址 可通过自己电脑下载 然后上传手动装载插件
教程:
插件管理中选择高级
看下这篇博客
https://blog.csdn.net/w294954902/article/details/82587295
插件中心处 可选择插件搜索Maven Integration plugin即可
如果下载失败,还用我上面的方法就可以了
https://gitee.com/help/articles/4193
插件中心处 可选择插件搜索Node即可
名字看自己喜好,Java_HOMEZ主要看你自己的jdk装在哪里
上面讲述了maven的安装 根据自己的版本来
Name 无所谓 我是按版本来的看个人喜好
系统设置中,注意:需要将服务器 配置为密钥访问
找到此处,将你所要连接的服务器节点的sshkey 填入下方的key中
add 一个ssh server
name看自己定义
后面的节点和用户配置一下
remote directory
即为你要发送文件的目标地址
最后Test 测试一下 success 即可成功配置
======================================================================
现在准备工作已经全部完成了,我们开始创建我们的流水线了
简单的一个项目介绍
选中第一个构建策略 根据自己的实际需求来设置即可
填入自己源码的地址,添加自己的凭证进行验证测试看看是否能连接上(会自动测试,如果出现红色提醒代表无法认证,也无法拉取代码)
此处可通过gitee的 webhook进行触发,详细使用方法要自己探索一下哟 可以有很多方式进行触发要看下自己所用的代码托管其 配合使用
添加构建触发前的操作 选择SSH Server 即7我们在配置Publish over SSH 中配置的节点 此处的目标文件 会以在配置中的路径+现在你所填的路径
我这里服务器用的宝塔的守护进程面板构建前目的是为了停止 服务
我是选中了工作区中的所有打包好的jar包 可以多选 用“,”隔开即可 后面是执行了一个重启的脚本命令
maven 项目当然最重要的就是打包了
pom 最上级的一个pom文件
下面是一个执行的命令,根据你pom的环境配置来填写
附上提示代码:
set str=chenjie你好,jenkins已经完成了maven工程的构建任务!时间是:
set d=%date:~0,10%
set t=%time:~0,8%
set "log=%str%%d%%t%"
上面建造Java流水线的时候有介绍,可以按照自己的理解 模仿一个即可
同Java一样
我这里是通过shell 命令进行打包,压缩的
添加shell命令
附上自己的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
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 # 删除压缩文件
大家肯定有部署到不同linux 主机上的问题,这是shh 密钥可能没有配置一摸一样的、jenkins的ssh插件当然也可以多配置
流水线的 源码管理处 —操作如下图即可自定义代码拉去超时时长