hanqingsong 1 місяць тому
батько
коміт
fda80ad316
1 змінених файлів з 59 додано та 0 видалено
  1. 59 0
      Jenkinsfile-dev.groovy

+ 59 - 0
Jenkinsfile-dev.groovy

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