jenkins-node项目脚本 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #搜索 "按需修改" ,修改对应位置变量
  2. #项目类型 server-服务端/web-前端 -按需修改
  3. projectType=server
  4. #该类型项目根目录
  5. rootPath=/usr/local/workspace/${projectType}
  6. #进入该类型项目的根目录
  7. cd ${rootPath}
  8. #此项目所在的目录,换地方得写 -按需修改
  9. rootDir=zhwl
  10. #需要检查的文件/文件夹,确定是否下载依赖
  11. checkDir=node_modules
  12. #默认是已经有项目了 0=true/1=false
  13. isNew=1
  14. #pm2 名称,因为pm2 stop 可以用id,也可以用规定好的名称
  15. pm2Name=service-zhwl
  16. #检测创建 此项目的所在目录
  17. if [ ! -d ${rootDir} ];then
  18. mkdir ${rootDir}
  19. fi
  20. #进入该项目的目录
  21. cd ${rootDir}
  22. #检测项目是否存在,如果不存在,就用上面写好的git地址 在jenkins的全局变量去下项目
  23. if [ ! -d ${JOB_BASE_NAME} ];then
  24. git clone ${GIT_URL}
  25. isNew=0
  26. fi
  27. #进入项目根目录,如果Jenkins的该工程名和文件夹名不一致,此处会进不去文件夹
  28. cd ${JOB_BASE_NAME}
  29. #PS:下面适用的是node项目(vue;eggjs等)
  30. if [ -f ${isNew} ];then
  31. npm i
  32. else
  33. git pull
  34. #判断旧项目是否有依赖,没有依赖直接下
  35. if [ ! -d ${checkDir} ];then
  36. npm i
  37. fi
  38. fi
  39. #有依赖了.判断是server/web,然后执行对应部署操作
  40. if [ ${projectType} -eq "server" ];then
  41. [ pm2 stop pm2Name && pm2 start ] || pm2 start
  42. else
  43. npm run build
  44. fi