123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #搜索 "按需修改" ,修改对应位置变量
- #项目类型 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
|