seimin пре 3 година
родитељ
комит
837efd7a49
4 измењених фајлова са 264 додато и 6 уклоњено
  1. 176 6
      package-lock.json
  2. 2 0
      package.json
  3. 43 0
      upload/development.js
  4. 43 0
      upload/production.js

+ 176 - 6
package-lock.json

@@ -20,6 +20,8 @@
20 20
         "less": "^3.0.4",
21 21
         "less-loader": "^5.0.0",
22 22
         "postcss-px2rem": "^0.3.0",
23
+        "shelljs": "^0.8.5",
24
+        "ssh2-sftp-client": "^7.2.0",
23 25
         "stylus": "^0.54.5",
24 26
         "stylus-loader": "^3.0.2",
25 27
         "vue-cli-plugin-cube-ui": "~0.2.5",
@@ -4695,6 +4697,20 @@
4695 4697
         "node": ">=4"
4696 4698
       }
4697 4699
     },
4700
+    "node_modules/cpu-features": {
4701
+      "version": "0.0.2",
4702
+      "resolved": "https://registry.npmmirror.com/cpu-features/download/cpu-features-0.0.2.tgz",
4703
+      "integrity": "sha1-n2NhVvEVX9BL26oCi7PC++886no=",
4704
+      "dev": true,
4705
+      "hasInstallScript": true,
4706
+      "optional": true,
4707
+      "dependencies": {
4708
+        "nan": "^2.14.1"
4709
+      },
4710
+      "engines": {
4711
+        "node": ">=8.0.0"
4712
+      }
4713
+    },
4698 4714
     "node_modules/create-ecdh": {
4699 4715
       "version": "4.0.4",
4700 4716
       "resolved": "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz",
@@ -5736,6 +5752,12 @@
5736 5752
       "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=",
5737 5753
       "dev": true
5738 5754
     },
5755
+    "node_modules/err-code": {
5756
+      "version": "2.0.3",
5757
+      "resolved": "https://registry.npmmirror.com/err-code/download/err-code-2.0.3.tgz",
5758
+      "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=",
5759
+      "dev": true
5760
+    },
5739 5761
     "node_modules/errno": {
5740 5762
       "version": "0.1.8",
5741 5763
       "resolved": "https://registry.nlark.com/errno/download/errno-0.1.8.tgz",
@@ -10585,6 +10607,19 @@
10585 10607
       "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
10586 10608
       "dev": true
10587 10609
     },
10610
+    "node_modules/promise-retry": {
10611
+      "version": "2.0.1",
10612
+      "resolved": "https://registry.npmmirror.com/promise-retry/download/promise-retry-2.0.1.tgz",
10613
+      "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=",
10614
+      "dev": true,
10615
+      "dependencies": {
10616
+        "err-code": "^2.0.2",
10617
+        "retry": "^0.12.0"
10618
+      },
10619
+      "engines": {
10620
+        "node": ">=10"
10621
+      }
10622
+    },
10588 10623
     "node_modules/proxy-addr": {
10589 10624
       "version": "2.0.7",
10590 10625
       "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz",
@@ -11644,9 +11679,9 @@
11644 11679
       "license": "MIT"
11645 11680
     },
11646 11681
     "node_modules/shelljs": {
11647
-      "version": "0.8.4",
11648
-      "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.4.tgz",
11649
-      "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=",
11682
+      "version": "0.8.5",
11683
+      "resolved": "https://registry.npmmirror.com/shelljs/download/shelljs-0.8.5.tgz",
11684
+      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
11650 11685
       "dev": true,
11651 11686
       "dependencies": {
11652 11687
         "glob": "^7.0.0",
@@ -12100,6 +12135,67 @@
12100 12135
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
12101 12136
       "dev": true
12102 12137
     },
12138
+    "node_modules/ssh2": {
12139
+      "version": "1.5.0",
12140
+      "resolved": "https://registry.npmmirror.com/ssh2/download/ssh2-1.5.0.tgz",
12141
+      "integrity": "sha1-TcVZupihy7Qg6NQpmN/jXQ7akrw=",
12142
+      "dev": true,
12143
+      "hasInstallScript": true,
12144
+      "dependencies": {
12145
+        "asn1": "^0.2.4",
12146
+        "bcrypt-pbkdf": "^1.0.2"
12147
+      },
12148
+      "engines": {
12149
+        "node": ">=10.16.0"
12150
+      },
12151
+      "optionalDependencies": {
12152
+        "cpu-features": "0.0.2",
12153
+        "nan": "^2.15.0"
12154
+      }
12155
+    },
12156
+    "node_modules/ssh2-sftp-client": {
12157
+      "version": "7.2.0",
12158
+      "resolved": "https://registry.npmmirror.com/ssh2-sftp-client/download/ssh2-sftp-client-7.2.0.tgz",
12159
+      "integrity": "sha512-h850dHBeLuKfL9uTQ7y11p8QA687Sr057+Q1paB7dMuO4GDtNwxj/CPwJmvIM5BCzEuNrWf9CnMnIdC23TxzcA==",
12160
+      "dev": true,
12161
+      "dependencies": {
12162
+        "concat-stream": "^2.0.0",
12163
+        "promise-retry": "^2.0.1",
12164
+        "ssh2": "^1.5.0"
12165
+      },
12166
+      "engines": {
12167
+        "node": ">=10.24.1"
12168
+      }
12169
+    },
12170
+    "node_modules/ssh2-sftp-client/node_modules/concat-stream": {
12171
+      "version": "2.0.0",
12172
+      "resolved": "https://registry.npmmirror.com/concat-stream/download/concat-stream-2.0.0.tgz",
12173
+      "integrity": "sha1-QUz1r3kKSMYKub5FJ9VtXkETPLE=",
12174
+      "dev": true,
12175
+      "engines": [
12176
+        "node >= 6.0"
12177
+      ],
12178
+      "dependencies": {
12179
+        "buffer-from": "^1.0.0",
12180
+        "inherits": "^2.0.3",
12181
+        "readable-stream": "^3.0.2",
12182
+        "typedarray": "^0.0.6"
12183
+      }
12184
+    },
12185
+    "node_modules/ssh2-sftp-client/node_modules/readable-stream": {
12186
+      "version": "3.6.0",
12187
+      "resolved": "https://registry.npmmirror.com/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1632380409088&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
12188
+      "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
12189
+      "dev": true,
12190
+      "dependencies": {
12191
+        "inherits": "^2.0.3",
12192
+        "string_decoder": "^1.1.1",
12193
+        "util-deprecate": "^1.0.1"
12194
+      },
12195
+      "engines": {
12196
+        "node": ">= 6"
12197
+      }
12198
+    },
12103 12199
     "node_modules/sshpk": {
12104 12200
       "version": "1.16.1",
12105 12201
       "resolved": "https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz",
@@ -18314,6 +18410,16 @@
18314 18410
         "parse-json": "^4.0.0"
18315 18411
       }
18316 18412
     },
18413
+    "cpu-features": {
18414
+      "version": "0.0.2",
18415
+      "resolved": "https://registry.npmmirror.com/cpu-features/download/cpu-features-0.0.2.tgz",
18416
+      "integrity": "sha1-n2NhVvEVX9BL26oCi7PC++886no=",
18417
+      "dev": true,
18418
+      "optional": true,
18419
+      "requires": {
18420
+        "nan": "^2.14.1"
18421
+      }
18422
+    },
18317 18423
     "create-ecdh": {
18318 18424
       "version": "4.0.4",
18319 18425
       "resolved": "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz",
@@ -19175,6 +19281,12 @@
19175 19281
       "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=",
19176 19282
       "dev": true
19177 19283
     },
19284
+    "err-code": {
19285
+      "version": "2.0.3",
19286
+      "resolved": "https://registry.npmmirror.com/err-code/download/err-code-2.0.3.tgz",
19287
+      "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=",
19288
+      "dev": true
19289
+    },
19178 19290
     "errno": {
19179 19291
       "version": "0.1.8",
19180 19292
       "resolved": "https://registry.nlark.com/errno/download/errno-0.1.8.tgz",
@@ -23143,6 +23255,16 @@
23143 23255
       "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
23144 23256
       "dev": true
23145 23257
     },
23258
+    "promise-retry": {
23259
+      "version": "2.0.1",
23260
+      "resolved": "https://registry.npmmirror.com/promise-retry/download/promise-retry-2.0.1.tgz",
23261
+      "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=",
23262
+      "dev": true,
23263
+      "requires": {
23264
+        "err-code": "^2.0.2",
23265
+        "retry": "^0.12.0"
23266
+      }
23267
+    },
23146 23268
     "proxy-addr": {
23147 23269
       "version": "2.0.7",
23148 23270
       "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz",
@@ -24041,9 +24163,9 @@
24041 24163
       "dev": true
24042 24164
     },
24043 24165
     "shelljs": {
24044
-      "version": "0.8.4",
24045
-      "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.4.tgz",
24046
-      "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=",
24166
+      "version": "0.8.5",
24167
+      "resolved": "https://registry.npmmirror.com/shelljs/download/shelljs-0.8.5.tgz",
24168
+      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
24047 24169
       "dev": true,
24048 24170
       "requires": {
24049 24171
         "glob": "^7.0.0",
@@ -24444,6 +24566,54 @@
24444 24566
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
24445 24567
       "dev": true
24446 24568
     },
24569
+    "ssh2": {
24570
+      "version": "1.5.0",
24571
+      "resolved": "https://registry.npmmirror.com/ssh2/download/ssh2-1.5.0.tgz",
24572
+      "integrity": "sha1-TcVZupihy7Qg6NQpmN/jXQ7akrw=",
24573
+      "dev": true,
24574
+      "requires": {
24575
+        "asn1": "^0.2.4",
24576
+        "bcrypt-pbkdf": "^1.0.2",
24577
+        "cpu-features": "0.0.2",
24578
+        "nan": "^2.15.0"
24579
+      }
24580
+    },
24581
+    "ssh2-sftp-client": {
24582
+      "version": "7.2.0",
24583
+      "resolved": "https://registry.npmmirror.com/ssh2-sftp-client/download/ssh2-sftp-client-7.2.0.tgz",
24584
+      "integrity": "sha512-h850dHBeLuKfL9uTQ7y11p8QA687Sr057+Q1paB7dMuO4GDtNwxj/CPwJmvIM5BCzEuNrWf9CnMnIdC23TxzcA==",
24585
+      "dev": true,
24586
+      "requires": {
24587
+        "concat-stream": "^2.0.0",
24588
+        "promise-retry": "^2.0.1",
24589
+        "ssh2": "^1.5.0"
24590
+      },
24591
+      "dependencies": {
24592
+        "concat-stream": {
24593
+          "version": "2.0.0",
24594
+          "resolved": "https://registry.npmmirror.com/concat-stream/download/concat-stream-2.0.0.tgz",
24595
+          "integrity": "sha1-QUz1r3kKSMYKub5FJ9VtXkETPLE=",
24596
+          "dev": true,
24597
+          "requires": {
24598
+            "buffer-from": "^1.0.0",
24599
+            "inherits": "^2.0.3",
24600
+            "readable-stream": "^3.0.2",
24601
+            "typedarray": "^0.0.6"
24602
+          }
24603
+        },
24604
+        "readable-stream": {
24605
+          "version": "3.6.0",
24606
+          "resolved": "https://registry.npmmirror.com/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1632380409088&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
24607
+          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
24608
+          "dev": true,
24609
+          "requires": {
24610
+            "inherits": "^2.0.3",
24611
+            "string_decoder": "^1.1.1",
24612
+            "util-deprecate": "^1.0.1"
24613
+          }
24614
+        }
24615
+      }
24616
+    },
24447 24617
     "sshpk": {
24448 24618
       "version": "1.16.1",
24449 24619
       "resolved": "https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz",

+ 2 - 0
package.json

@@ -19,6 +19,8 @@
19 19
     "less": "^3.0.4",
20 20
     "less-loader": "^5.0.0",
21 21
     "postcss-px2rem": "^0.3.0",
22
+    "shelljs": "^0.8.5",
23
+    "ssh2-sftp-client": "^7.2.0",
22 24
     "stylus": "^0.54.5",
23 25
     "stylus-loader": "^3.0.2",
24 26
     "vue-cli-plugin-cube-ui": "~0.2.5",

+ 43 - 0
upload/development.js

@@ -0,0 +1,43 @@
1
+const shell = require('shelljs')
2
+const path = require('path');
3
+const config = {
4
+  ip: "192.168.3.109", // ssh地址
5
+  username: "root", // ssh 用户名
6
+  port: 22,      //端口
7
+  password: "DStech@123", // ssh 密码
8
+  path: '/home/itsm/project/web/main', // 上传地址,删除地址
9
+  buildPath: '../dist/main' // 本地打包后文件地址
10
+}
11
+let Client = require('ssh2-sftp-client');
12
+
13
+function connectSSh() {
14
+  let sftp = new Client();
15
+  sftp.connect({
16
+    host: config.ip,
17
+    port: config.port,
18
+    username: config.username,
19
+    password: config.password
20
+  }).then(() => {
21
+    console.log("-----先执行删除服务器文件-----")
22
+    return sftp.rmdir(config.path, true);
23
+  }).then(() => {
24
+    // 上传文件
25
+    console.log("-----开始上传-----")
26
+    return sftp.uploadDir(path.resolve(__dirname, config.buildPath), config.path);
27
+  }).then((data) => {
28
+    console.log("-----上传完成-----");
29
+    sftp.end();
30
+  }).catch((err) => {
31
+    console.log(err, '-----失败-----');
32
+    sftp.end();
33
+  });
34
+}
35
+function runTask() {
36
+  //打包完成
37
+  if (shell.exec(`npm run build`).code == 0) {
38
+    console.log("-----打包成功-----");
39
+    //提交上传
40
+    connectSSh();
41
+  }
42
+}
43
+runTask()

+ 43 - 0
upload/production.js

@@ -0,0 +1,43 @@
1
+const shell = require('shelljs')
2
+const path = require('path');
3
+const config = {
4
+  ip: "139.129.255.139", // ssh地址
5
+  username: "root", // ssh 用户名
6
+  port: 22,      //端口
7
+  password: "DStech@123", // ssh 密码
8
+  path: '/home/md2/newweb/main', // 上传地址,删除地址
9
+  buildPath: '../dist/main' // 本地打包后文件地址
10
+}
11
+let Client = require('ssh2-sftp-client');
12
+
13
+function connectSSh() {
14
+  let sftp = new Client();
15
+  sftp.connect({
16
+    host: config.ip,
17
+    port: config.port,
18
+    username: config.username,
19
+    password: config.password
20
+  }).then(() => {
21
+    console.log("-----先执行删除服务器文件-----")
22
+    return sftp.rmdir(config.path, true);
23
+  }).then(() => {
24
+    // 上传文件
25
+    console.log("-----开始上传-----")
26
+    return sftp.uploadDir(path.resolve(__dirname, config.buildPath), config.path);
27
+  }).then((data) => {
28
+    console.log("-----上传完成-----");
29
+    sftp.end();
30
+  }).catch((err) => {
31
+    console.log(err, '-----失败-----');
32
+    sftp.end();
33
+  });
34
+}
35
+function runTask() {
36
+  //打包完成
37
+  if (shell.exec(`npm run build`).code == 0) {
38
+    console.log("-----打包成功-----");
39
+    //提交上传
40
+    connectSSh();
41
+  }
42
+}
43
+runTask()