1.nodeJS等自行安装
2. 点击“New 任务”输入要定义的名字,选择“构建一个自由风格的软件项目”,点击左下角的“OK”
3.配置环节
General–》Description 描述:随便配下玩玩
勾选 Don’t let user manually re-trigger this job
勾选 丢弃旧的构建 Days to keep builds设置为:3 Max # of builds to keep 设置为:10(具体值根据情况而定,此处仅参考)
勾选 参数化构建过程 选择字符参数
参数1:name=url 默认值=localhost 描述=要发布到的服务器
参数2:name=isZip 默认值=0 描述=是否更新node_modules 1是0否
参数3:name=isPackage 默认值=1 描述=是否重新打包 1是0否
参数4:name=isDel 默认值=1 描述=是否删除之前的static和index.html文件
勾选 Restrict where this project can be run 然后选择要完成这个操作的服务节点(如没有节点服务可以不配置)
Source Code Management –》勾选 Subversion(是git就选git)
Repository URL 配置代码路径
Credentials 配置 拉去代码的账号密码
Build –》点击“add build step” 选择“执行shell”
pwd
#因内网环境无法执行install获取资源,所以采用解压缩更新资源
if [ $isZip == 1 ];then
echo "更新node_modules"
#rm -rf ./node_modules
tar -xvf ./node_modules.tar
else
echo "不更新node_modules"
fi
if [ $isPackage == 1 ];then
echo "build armc start"
npm run build
cd dist
tar -cvf dist.tar static index.html
else
echo "no build"
fi
echo "push dist.tar to nginx"
FILE=`find /home/jenkins/workspace/当前任务名/dist/dist.tar -type f`
scp $FILE url参数对应的用户名@${url}:/u01/app
if [ $isDel == 1 ];then
echo "del old build"
ssh url参数对应的用户名@${url} "chmod 777 /u01/app/static/"
ssh url参数对应的用户名@${url} "rm -rf /u01/app/static"
ssh url参数对应的用户名@${url} "rm -rf /u01/app/index.html"
else
echo "no del old build"
fi
ssh url参数对应的用户名@${url} "tar -xvf /u01/app/dist.tar -C /u01/app"
ssh url参数对应的用户名@${url} "mv /u01/app/dist.tar /u01/app/dist.tar`date +%y%m%d%H%M`"