1 新建个item
2 输入项目名称,选择个新的工程或
或者搜个已存在的现有模板
3 添加一些描述
4 (可选)配置下构建历史保存情况
5 限制下构建节点和选择gitlab或者github
6 写下git仓库地址、账号密码以及分支
7 选择构建工具node以及版本
8 构建选择Execute Shell,编写下构建shell脚本
node -v
npm -v
yarn -v
RUN_BUILD_DIR=/var/lib/jenkins/workspacenm11/DEV-business-web/
/bin/cp -rf ${workspace}/. ${RUN_BUILD_DIR}
cd ${RUN_BUILD_DIR}
# 如果没有RUN_BUILD_DIR 里面没有 node_modules,或者没有package-copy.json 则执行依赖安装if [ ! -d "${RUN_BUILD_DIR}/node_modules" ] || [ ! -f "${RUN_BUILD_DIR}/package-copy.json" ]; then
cp package.json package-copy.jsonnpm install
# 使用 diff 比较 package.json 和 package-copy.json,如果不同则安装依赖
elif ! diff package.json package-copy.json &> /dev/null; thencp package.json package-copy.jsonnpm install
fiexport NODE_OPTIONS=--openssl-legacy-provider
source /etc/profile
cnpm cache verify
npm run build:dev
# 将构建好的包 common-business 压缩
tar -czf business.tar.gz common-business
# 将压缩包在复制到当前jekins目录下
cp -rf ${RUN_BUILD_DIR}/business.tar.gz ${workspace}/
rm -rf common-business
rm -rf business.tar.gz
9 选择部署的目标服务器,填写压缩包名称,指定部署目录,便携执行命令 Exec command
cd /app/front-home/subapp
mv common-business tmp/business-`date -d now +%s`
#ps -ef |grep nginx | grep -v grep | awk '{print $2}' | xargs kill -9
tar vxf business.tar.gz
cd /app/nginx/sbin
nginx_process=$(pgrep nginx)
if [ -z "$nginx_process" ]; then# 如果没有找到 Nginx 进程,表示 Nginx 没有启动echo "Nginx 没有启动,请启动Nginx"# 启动 Nginx./nginx
else# 如果找到了 Nginx 进程,则重启 Nginxecho "Nginx已启动,请重启Nginx"# 重启 Nginx./nginx -s reload
fi
cd /app/front-home/subapp
rm -rf business.tar.gz
exit 0
最后保存,试用构建下