1.常用插件
- ThinBackup (备份所有配置信息)
- Role-based Authorization Strategy (对应菜单Manage and Assign Roles)
- Publish Over SSH 远程部署发布
2.服务迁移
- 整个tomcat含jenkins 一起复制到新服务器
- 启动tomcat服务,确保环境正常,然后关闭服务。(这里要初始化一下密码)
- 通过管理员登录->系统配置 -> 第一行主目录 : /root/.jenkins
- 复制的备份关键信息 config.xml , jobs , users , plugins到 的到新服务器上
- 在系统配置 -> 工具和动作 -> 读取设置(会自动读取最新配置信息)
- 启动tomcat服务。
- 配置 -》 全局工具配置: (node 环境,maven配置 + maven环境,JDK,Git)
- 服务器信息重新配置(系统配置 -> Publish over SSH ),
- git账号配置(在任意 "任务" -> 源码管理 -> 点击添加)
- 权限配置(全局安全配置 -> 授权策略 -> Role-Based Strategy 打开, 系统管理 -> Manage and Assign Roles 重新配置)
- 视图重新配置 (首页视图tab上点击 + 新增)
3.部署命令
java项目
#!/bin/bash
echo '####################自动部署 开始####################'
echo '>>>>>>删除原有项目>>>>>>'
rm -rf eeka-appenter
echo '>>>>设置tomcat 环境变量>>>>'
#启动tomcat服务
export JAVA_HOME=/usr/local/jdk1.8.0_181
path=`pwd` #当前路径
tomcatPath=/opt/app-test/apache-tomcat-8.5.45/ #指定tomcat文件目录名称
cd $tomcatPath/bin #进入tomcat的bin目录
echo '>>>>杀死原有进程 开始>>>>'
#sh shutdown.sh
pid=`ps -ef | grep opt/app-test | grep -v grep | awk '{print $2}'`
echo “旧应用进程id:$pid”
if [ -n "$pid" ]
then
kill -9 $pid
fi
echo '>>>>杀死原有进程 结束>>>>'
sleep 2s
sh startup.sh #
echo '>>>>启动tomcat服务完毕>>>>'
vue项目
#构建命令1 tomcat
npm -v
rm -rf package-lock.json projectName projectName.tar.gz
npm install
unzip -o src/node_modules_update/jenkins_sync_folder/element-ui/lib.zip -d ./node_modules/element-ui/
npm run build-dev
tar -zcvf projectName.tar.gz ./dist
#构建命令2 tomcat 覆盖源码
npm -v
rm -rf package-lock.json projectName projectName.tar.gz
npm install
#新增 修改开源项目源码覆盖
unzip -o src/node_modules_update/jenkins_sync_folder/element-ui/lib.zip -d ./node_modules/element-ui/
npm run build-dev
tar -zcvf projectName.tar.gz ./dist
#构建命令3 添加类型 nginx
#在配置 :参数化构建过程-> 字符串参数 ->名称 buildType,默认值dev
npm -v
rm -rf package-lock.json dev.tar.gz
cnpm install
cnpm run build-$buildType
tar -zcvf dev.tar.gz ./dist
构建后命令1 tomcat
cd /apache-tomcat/webapps/
rm -rf projectName
tar -zxvf projectName.tar.gz
# 备份压缩包
mv projectName.tar.gz ../backup/prod`date "+%Y-%m-%d-%H:%M:%S"`.tar.gz
mv dist projectName
# 删除最近30天以外的数据
find /apache-tomcat-8.5.45/backup -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
构建后命令2 nginx
cd /usr/local/nginx/html/projectName/index/
rm -rf dev
tar -zxvf dev.tar.gz
mv dist dev
chmod -R 777 dev
构建后命令2 nginx 带参数
folderName=$buildType
echo '当前部署文件夹是:'$folderName
cd /usr/local/nginx/html/projectName/index/
rm -rf $folderName
tar -zxvf dev.tar.gz
mv dist $folderName
chmod -R 777 $folderName
node项目
cd /usr/local/nginx/html/xxx/
cd projectName
npm run stop
cd ..
rm -rf projectName
tar -zxvf projectName.tar.gz
mv dev_projectName projectName
chmod -R 777 projectName
cd projectName
npm run start
#npm run pm2-start
#ps ax | grep node