Git安装
yum install git
Jdk安装
官网下载 JDK8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装
# 创建目录
mkdir /usr/local/java
# 拷贝安装包到指定目录
cp jdk-8u301-linux-x64.tar.gz /usr/local/java/
# 进入java安装目录
cd /usr/local/java/
# 解压jdk安装包
tar -zxvf jdk-8u301-linux-x64.tar.gz
# 删除安装包(可选)
rm -rf jdk-8u301-linux-x64.tar.gz
配置环境变量
# 编辑配置文件
vim /etc/profile
# 最下面添加如下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
# 然后ESC :wq保存退出
:wq
# 配置生效
source /etc/profile
# 检查安装情况
java -version
Node安装
node下载地址: http://nodejs.cn/download/current/ https://nodejs.org/dist/
下载离线包,上传到/usr/local/node
创建软链:
# 解压
tar -zxvf node-v16.17.1-linux-x64.tar.gz
# 重命名
mv node-v16.17.1-linux-x64 node-v16.17.1
ln -s /usr/local/node/node-v16.17.1/bin/node /usr/local/bin
ln -s /usr/local/node/node-v16.17.1/bin/npm /usr/local/bin
Maven 安装
下载
wget https://dlcdn.apache.org/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
解压
tar -xzvf apache-maven-3.6.1-bin.tar.gz
配置系统maven环境
编辑系统环境文件profile
,该文件类似于windows里的环境变量。
vi /etc/profile
注意,配置的变量,请指向自己解压的maven路径:
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH
:wq
,退出保存,然后重新加载一下配置:
source /etc/profile
查看maven版本,测试配置生效:
mvn -v
配置镜像加速+指定仓库地址
配置jar包下载路径,路径指向自己的
<localRepository>/usr/local/maven/repository</localRepository>
配置阿里镜像加速,默认是从中央仓库拉取。
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
:wq
,退出保存。
jenkins安装
下载地址 https://mirrors.jenkins.io/war-stable/
下载
wget https://sg.mirror.servanamanaged.com/jenkins/war/2.346/jenkins.war
安装
nohup java -jar jenkins.war --httpPort=6888 2>&1 &
插件
# maven项目插件
Maven Integration
# 备份插件
ThinBackup
# 可以在构建时进行分支选择
Git Parameter Plug-In
# NODE前端发布
NODEJS
# 角色配置
Role-based Authorization Strategy
# 开机自启
Startup
# 日格式化
Date Paramete
配置
Maven 配置
/usr/local/maven/apache-maven-3.6.1/conf/settings.xml
JDK
#jdk8
/usr/local/java/jdk1.8.0_371
Maven
#Name
maven3.6
# MAVEN_HOME
/usr/local/maven/apache-maven-3.6.1
NodeJs
后端部署配置
General
后端-XX系统-演示环境
源码管理
http://192.168.1.7:1234/mrfr/backend/mrfResource.git
构建环境
pom.xml
clean package -Dmaven.test.skip=true
Post Steps
#!/bin/bash
#环境
ENV=test
#源jar路径,打包完成之后,target目录下的jar包名称
JAR_NAME=mrf-admin
#target打包生成jar包的目录
# 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录
JAR_PATH=/home/maruifu/.jenkins/workspace/后端-XX系统-测试环境/mrf-admin/target
#打包完成之后,把jar包移动到运行jar包的目录
JAR_WORK_PATH=/usr/local/backend/mrfr/test
echo "查询进程id-->${JAR_NAME}_${ENV}"
PID=`ps -ef |grep java|grep "${JAR_NAME}_${ENV}" |grep -v grep|awk '{print $2}'`
if [ x"$PID" != x"" ]; then
kill -TERM $PID
sleep 1
echo "等待1秒钟"
sleep 1
echo "等待2秒钟"
echo "${JAR_NAME}_${ENV} 退出."
else
echo "${JAR_NAME}_${ENV} 已经停止了"
fi
echo "正在结束进程完成"
echo "正在复制jar包到执行目录"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH/${JAR_NAME}_${ENV}.jar
cd $JAR_WORK_PATH
echo "正在修改文件权限"
chmod 755 ${JAR_NAME}_${ENV}.jar
echo "正在启动${JAR_NAME}"
BUILD_ID=dontKillMe nohup java -jar ${JAR_NAME}_${ENV}.jar --spring.profiles.active=${ENV} 2>&1 &
echo "${JAR_NAME}启动成功"
前端部署配置
General
前端-XX系统-前台-测试环境
源码管理
http://192.168.1.7:1234/mrfr/frontend/backstage.git
构建环境
Provide Node & npm bin/ folder to PATH
Post Steps
#!/bin/bash
#环境
ENV=test
#打包生成dist的目录
DIST_PATH=/home/maruifu/.jenkins/workspace/前端-XX系统-前台-测试环境
#打包完成之后,把DIST移动到Nginx执行的目录
UI_WORK_PATH=/usr/local/frontend/mrfr-ui/
echo "查询node版本!"
node -v &&
echo "正在安装依赖!"
npm install &&
echo "正在删除上次打包的文件"
rm -rf $(ls -d *dist* | tail -1)
echo "安装构建打包!"
npm run build:${ENV}
DIST_NAME=$(ls -d *dist* | tail -1)
echo "获取打包文件夹名:${DIST_NAME}"
echo "正在复制文件到执行目录"
cp -r ${DIST_PATH}/${DIST_NAME} ${UI_WORK_PATH}
echo "正在删除${UI_WORK_PATH}dist"
rm -rf ${UI_WORK_PATH}dist
cd ${UI_WORK_PATH}
mv ${DIST_NAME} dist
echo "部署完成了!"
echo "部署完成了!"
echo "部署完成了!"
权限配置
角色设置
用户设置
多种备份方式
拷贝文件备份
手动备份jekins_home目录的以下文件:
config.xml
hudson*.xml
插件名*.xml
job目录
user目录
备份与还原-ThinBackup
备份
1、以管理员身份登录Jenkins,点击 系统管理 – ThinBackup
2、点击Settings ,设置备份文件的保存目录,同时可以设置备份的一些特殊属性
3、点击 Backup Now,即可完成备份
还原
1、把ThinBackup备份的文件(一般是文件夹或zip),拷贝到 settings中设置的备份目录下或者 设置 Backup directory 为备份文件目录
2、点击 ThinBackup – Restore ,就还原成功了。
应用回滚
创建选择参数
设置GIT地址
添加脚本-应用备份
case $status in
deploy)
echo "创建当前构建版本备份目录"
bak_dir="${WORKSPACE}/bak/${BUILD_NUMBER}"
if [ -d $bak_dir ]
then
echo "目录已存在"
else
mkdir -p $bak_dir
fi
echo "开始构建..."
mvn clean package -Dmaven.test.skip=true
echo "构建结束"
cp -f ${WORKSPACE}/maruifu-admin/target/*.jar $bak_dir
echo "当前版本已备份完成!"
;;
rollback)
echo "创建当前构建版本备份目录"
bak_dir="${WORKSPACE}/bak/${BUILD_NUMBER}"
if [ -d $bak_dir ]
then
echo "目录已存在"
else
mkdir -p $bak_dir
fi
echo "开始回滚..."
echo "回滚的版本号是: ${version}"
cp -f ${WORKSPACE}/bak/$version/*.jar $bak_dir
;;
*)
exit
;;
esac
添加脚本-删除多余备份
# 保留最新的5个
KeepVersionNum=5
# 备份所有版本所在目录
FileDir=${WORKSPACE}/bak/
cd $FileDir
# 备份所在目录中有多少目录
FileNum=`ls -l |grep "^d" | wc -l`
echo "开始检查构建旧版本个数,最多保留 $KeepVersionNum 个最新版本"
echo "当前保留版本数量: $FileNum"
# 当前备份版本的数量 > 想要保留的版本数量,则执行以下循环
while (( $FileNum > $KeepVersionNum ))
do
# 将当前目录下的所有目录以时间正序排序,head -1显示第一个
OldFile=$(ls -rt | head -1)
echo "$(date "+%Y:%m:%d %H:%M:%S") 删除多余旧版本: ${OldFile}"
# 删除多出来的旧版本
rm -rf $FileDir/$OldFile
let "FileNum--"
done
echo "正在部署的版号是:${BUILD_NUMBER}"
添加脚本-应用启动
# 备份所有版本所在目录
FileDir=${WORKSPACE}/bak
cd $FileDir
# 将当前目录下的所有目录以时间正序排序,head -1显示第一个
lastFile=$(ls -t | head -1)
cp -f $FileDir/$lastFile/*.jar /app/backend/dms/test-web
cd /app/backend/dms/test-web
/app/backend/dms/test-web/dms.sh restart
echo "部署成功"
本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2023/10/30 06:14