hanqingsong 1 år sedan
förälder
incheckning
70ceb15a18
1 ändrade filer med 65 tillägg och 0 borttagningar
  1. 65 0
      Jenkinsfile-dev.groovy

+ 65 - 0
Jenkinsfile-dev.groovy

@@ -0,0 +1,65 @@
1
+pipeline {
2
+    agent any
3
+
4
+    environment {
5
+        GITURL = 'http://101.36.160.140:21044/delivery-warehouse-java/delivery-depot-vue.git' //git地址
6
+        GETBRANCH = 'master' //git 分支
7
+        CONFIGNAME = '128' //选择配置好的部署服务器名称
8
+        SOURCEFILES = 'dist-dev.zip' //jar 包在 Jenkins 工作空间+项目名称下 的相对路径
9
+        REMOVEPREFIX = '' //去除前缀,只要 jar 包名称
10
+        REMOTEDIRECTORY = '/home/delivery/web/dev' //部署路径
11
+        EXECCOMMAND = 'cd /home/delivery/web/dev && ./deploy.sh && ps aux | grep java' //执行命令,启动项目 && ./start.sh
12
+        WORKSPACE = '/root/.jenkins/workspace/delivery-depot-vue'
13
+    }
14
+    stages {
15
+        stage('pull code') {
16
+            steps {
17
+                echo '从 gitlab 拉取代码'
18
+                git branch: "${GETBRANCH}", credentialsId: '71f78619-368a-4880-b752-0feec5fd34e0', url: "${GITURL}"
19
+            }
20
+        }
21
+        stage('build project') {
22
+            steps {
23
+                echo 'node.js 编译项目'
24
+                sh '''
25
+                     # 进入项目工作目录
26
+                     cd ${WORKSPACE}
27
+
28
+                     # 给 build-dev.sh 脚本赋予执行权限
29
+                     chmod +x build-dev.sh
30
+
31
+                     # 执行打包脚本
32
+                     ./build-dev.sh
33
+                 '''
34
+            }
35
+        }
36
+        stage('publish project') {
37
+            steps {
38
+                echo 'publish project'
39
+                sshPublisher(publishers: [
40
+                        sshPublisherDesc(
41
+                                configName: "${CONFIGNAME}", // 使用双引号引用变量
42
+                                transfers: [sshTransfer(
43
+                                        cleanRemote: false,
44
+                                        excludes: '',
45
+                                        execCommand: "${EXECCOMMAND}", // 使用双引号引用变量
46
+                                        execTimeout: 120000,
47
+                                        flatten: true,
48
+                                        makeEmptyDirs: false,
49
+                                        noDefaultExcludes: false,
50
+                                        patternSeparator: '[, ]+',
51
+                                        remoteDirectory: "${REMOTEDIRECTORY}", // 使用双引号引用变量
52
+                                        remoteDirectorySDF: false,
53
+
54
+                                        sourceFiles: "${SOURCEFILES}" ,// 使用双引号引用变量
55
+                                        usePty: true
56
+                                )],
57
+                                usePromotionTimestamp: false,
58
+                                useWorkspaceInPromotion: false,
59
+                                verbose: false
60
+                        )
61
+                ])
62
+            }
63
+        }
64
+    }
65
+}