#搜索 "按需修改" ,修改对应位置变量 #项目类型 server-服务端/web-前端 -按需修改 projectType=server #该类型项目根目录 rootPath=/usr/local/workspace/${projectType} #进入该类型项目的根目录 cd ${rootPath} #此项目所在的目录,换地方得写 -按需修改 rootDir=zhwl #需要检查的文件/文件夹,确定是否下载依赖 checkDir=node_modules #默认是已经有项目了 0=true/1=false isNew=1 #pm2 名称,因为pm2 stop 可以用id,也可以用规定好的名称 pm2Name=service-zhwl #检测创建 此项目的所在目录 if [ ! -d ${rootDir} ];then mkdir ${rootDir} fi #进入该项目的目录 cd ${rootDir} #检测项目是否存在,如果不存在,就用上面写好的git地址 在jenkins的全局变量去下项目 if [ ! -d ${JOB_BASE_NAME} ];then git clone ${GIT_URL} isNew=0 fi #进入项目根目录,如果Jenkins的该工程名和文件夹名不一致,此处会进不去文件夹 cd ${JOB_BASE_NAME} #PS:下面适用的是node项目(vue;eggjs等) if [ -f ${isNew} ];then npm i else git pull #判断旧项目是否有依赖,没有依赖直接下 if [ ! -d ${checkDir} ];then npm i fi fi #有依赖了.判断是server/web,然后执行对应部署操作 if [ ${projectType} -eq "server" ];then [ pm2 stop pm2Name && pm2 start ] || pm2 start else npm run build fi