- 配置策略 Discard old builds ,节省服务器资源空间
2. 配置选择分支 This project is parameterized,这里配置的变量分支,然后这里配置多项目可选打包check boxes 打开Choose source for value
,
配置你的目录名字
- 源码管理,配置Repository URL仓库地址和Credentials相关证书
4. Build Steps配置shell脚本 Execute shell
#!/bin/bash -ilex
echo $PATH
packages="home,financial,enterprise,gov,admin"
project_path=""
OLD_IFS="$IFS"
IFS=","
arr=($mutiParams)
IFS="$OLD_IFS"
rm -rf $WORKSPACE$project_path/publish
for i in ${arr[@]}
do
echo '打印i:' + $i
pnpm -v
node -v
cd $WORKSPACE$project_path/$i
rm -rf dist
if [[ $isRunInstall == "true" ]]
then
pnpm install
fi
if [[ $i == "home" ]]
then
if [[ $nodeDev == "development" ]]
then
pnpm build:test
fi
else
pnpm build
chmod 777 $i
fi
if [[ $i == "home" ]]
then
newsubdir=$i
else
subdir=${i%Manage*}
newsubdir=${subdir##*/}
fi
mkdir -p $WORKSPACE$project_path/publish/${newsubdir,,}
mv ${newsubdir,,}/* $WORKSPACE$project_path/publish/${newsubdir,,}
echo '打印WORKSPACE:' + $WORKSPACE
echo '打印newsubdir:' + $newsubdir
done
- 构建后操作,配置Send build artifacts over SSH ,这里就是要把工作空间构建后的前端资源包推给Nginx代理的那台服务器,Remote directory这里放的是Nginx配置的目录指向地址
这里的脚本目录是和Remote directory里指向的同一个目录,举个例子 /test/project-name
#!/bin/bash -ilex
packages=""
PUBLISH_PATH=/data/static/test/project-name
for package in `ls $PUBLISH_PATH/publish`
do
if [[ $package == "home" ]]
then
for element in `ls $PUBLISH_PATH`
do
[[ ${packages,,} =~ $element ]] || rm -rf $PUBLISH_PATH/$element
done
mv $PUBLISH_PATH/publish/$package/* $PUBLISH_PATH
else
chmod 777 /data/static/test/project-name
rm -rf $PUBLISH_PATH/$package
mkdir -p $PUBLISH_PATH/$package
mv $PUBLISH_PATH/publish/$package/* $PUBLISH_PATH/$package
fi
done
rm -rf $PUBLISH_PATH/publish