jenkins自动化部署前端项目

概要:前端代码打包用npm,把包弄到nginx的网页目录,然后解压包,登陆页面验证是否成功。

一、构建一个自由风格的项目

1、General

2、源码管理

3、构建

说明:因为我要去另一台服务器上打包,安装jenkins的那台不能用npm,可根据需要自行调整构建步骤。

#!/bin/bash

dir_name="/data/npm/projects/data-center-ui"

if  [ -d  $dir_name ];then
    rm -rf $dir_name
else
    echo "$dir_name  is not found"
fi

点开“高级”,将“Exec timeout(ms)”的值设为更高或0,否则Jenkins会因npm打包时间过长而超时,进而停止构建。

#!/bin/bash
export PATH=$PATH:/data/npm/node-v10.15.0-linux-x64/bin

cd /data/npm/projects/data-center-ui/data-center
cnpm install
npm run build
zip -q -r datacenter.zip datacenter

cd /data/npm/projects/data-center-ui/system-manager
cnpm install
npm run build
zip -q -r  system.zip  system

expect << EOF
spawn scp /data/npm/projects/data-center-ui/data-center/datacenter.zip  /data/npm/projects/data-center-ui/system-manager/system.zip bonc@172.16.43.186:/data/data-center-ui
expect "password"
send "bonchhh
"
expect eof
EOF

 到此,已经在108服务器上打了包,并拷贝到186服务器上了,下来就要到186服务器上解压包

#!/bin/bash

time=`date +%F-%T`

mv /data/bonc/data-center/html/datacenter.zip   /data/bonc/data-center/html/datacenter.zip$time
mv /data/bonc/portal/html/system.zip     /data/bonc/portal/html/system.zip$time

rm -rf /data/bonc/data-center/html/datacenter   /data/bonc/portal/html/system

mv  /data/data-center-ui/datacenter.zip  /data/bonc/data-center/html/    
mv  /data/data-center-ui/system.zip  /data/bonc/portal/html/

unzip  /data/bonc/data-center/html/datacenter.zip  -d  /data/bonc/data-center/html/
unzip  /data/bonc/portal/html/system.zip   -d  /data/bonc/portal/html/

二、立即构建该项目

 

原文地址:https://www.cnblogs.com/lina-2159/p/13529154.html