|
@@ -0,0 +1,51 @@
|
|
|
+#搜索 "按需修改" ,修改对应位置变量
|
|
|
+#项目类型 server-服务端/web-前端 -按需修改
|
|
|
+projectType=server
|
|
|
+#该类型项目根目录
|
|
|
+rootPath=/usr/local/workspace/${projectType}
|
|
|
+#进入该类型项目的根目录
|
|
|
+cd /usr/local/workspace/server
|
|
|
+
|
|
|
+#此项目所在的目录,换地方得写 -按需修改
|
|
|
+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
|