2022-06-17 15:16:21
浏览数 (1)
利用jenkins自动构建前端项目并部署到远程服务器上运行
- 新建一个自由风格的任务
- 因为该前端项目和我整个项目是在一个地址呢,在利用jenkins自动构建springcloud项目已经拉取过全部代码了,所以这里不再拉取代码了
- 构建步骤只需要到利用jenkins自动构建springcloud项目的工作空间中将相应的前端项目打包并发送到远程服务器B即可
代码语言:javascript
复制 #!/bin/bash
echo "当前构建的任务名称:$JOB_NAME"
#目标服务器B,即要运行jar包的服务器
serverB="远程服务器B的ip"
#目标服务器B存放dist包路径
Bpath=/home/mogu_blog/${JOB_NAME}
echo "--------------进入前端工作目录/home/jenkins/workspace/mogu/${JOB_NAME}/---------------------"
cd /home/jenkins/workspace/mogu/${JOB_NAME}/
echo "-------------开始构建项目----------------"
# 指定node-sass的国内镜像源
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass
# 使用淘宝镜像源进行依赖安装,解决国内下载缓慢的问题(出现警告可以忽略)
npm install --registry=https://registry.npm.taobao.org
# 打包
npm run build
#压缩
tar -cvzf dist.tar.gz ./dist
#传输jenkins构建好的jar包和Dockerfile到目标服务器B上
for host in $serverB
do
echo "目标服务器:*********$host*********"
echo "目标服务器存放dist包位置:**************$Bpath**************"
ssh root@$host
scp -r /home/jenkins/workspace/mogu/${JOB_NAME}/dist.tar.gz root@${host}:${Bpath}
scp -r /home/jenkins/workspace/mogu/${JOB_NAME}/Jenkinsfile root@${host}:${Bpath}
echo "文件传输完成!!!!"
echo "检查目标服务器$host->$Bpath路径下是否存在dist包"
done
代码语言:javascript
复制 #!/bin/sh
tar -zxvf dist.tar.gz
systemctl restart nginx