@pisell/common 0.0.58 → 0.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/script/aws/index.js +0 -3
- package/es/script/constants/index.js +6 -3
- package/es/script/release/release.js +6 -5
- package/es/script/uploadCode/index.js +35 -26
- package/es/script/uploadCode/uploadCode.js +1 -2
- package/es/script/utils/index.js +8 -4
- package/lib/script/aws/index.js +0 -5
- package/lib/script/constants/index.js +14 -2
- package/lib/script/release/release.js +5 -4
- package/lib/script/uploadCode/index.js +7 -1
- package/lib/script/uploadCode/uploadCode.js +1 -2
- package/lib/script/utils/index.js +14 -9
- package/package.json +1 -1
package/es/script/aws/index.js
CHANGED
|
@@ -14,9 +14,6 @@ var filterFiles = ['index.html', 'umi.server.js', 'umi.server.d.ts'];
|
|
|
14
14
|
var __dirname = process.cwd();
|
|
15
15
|
var s3Client = null;
|
|
16
16
|
var bucketName = '';
|
|
17
|
-
export var isAWSEnv = function isAWSEnv(env) {
|
|
18
|
-
return env === 'prod' || env === 'pre';
|
|
19
|
-
};
|
|
20
17
|
|
|
21
18
|
/*******
|
|
22
19
|
* @title: 初始化
|
|
@@ -26,11 +26,14 @@ var outPathMap = {
|
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
var isSsrMap = {
|
|
29
|
-
my_pisel_shop:
|
|
29
|
+
my_pisel_shop: true,
|
|
30
30
|
admin: false,
|
|
31
31
|
my_pisel_pc_v2: true,
|
|
32
32
|
my_pisel_h5_v2: true,
|
|
33
|
-
pisell2_pages:
|
|
33
|
+
pisell2_pages: true
|
|
34
34
|
};
|
|
35
35
|
var checkPackages = ['@pisell/date-picker', '@pisell/lowcode-renderer', '@pisell/common', '@pisell/utils'];
|
|
36
|
-
|
|
36
|
+
|
|
37
|
+
// 项目使用的发布分支
|
|
38
|
+
var originBranch = ['master', 'release', 'develop', 'pre', 'master_v2', 'release_v2', 'develop_v2', 'pre_v2'];
|
|
39
|
+
export { outPathMap, isSsrMap, checkPackages, originBranch };
|
|
@@ -7,7 +7,6 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
7
7
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
8
8
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
9
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
10
|
-
import { isAWSEnv } from "../aws/index.js";
|
|
11
10
|
import { isSsrMap, outPathMap } from "../constants/index.js";
|
|
12
11
|
import { connectServer as _connectServer, getServerConfig, releaseProject } from "../utils/index.js";
|
|
13
12
|
|
|
@@ -53,7 +52,7 @@ var Release = /*#__PURE__*/function () {
|
|
|
53
52
|
if (this.env === 'release') {
|
|
54
53
|
serverConfig = serverConfigMap.cn[this.env];
|
|
55
54
|
}
|
|
56
|
-
if (
|
|
55
|
+
if (this.env === 'prod') {
|
|
57
56
|
serverConfig = serverConfigMap.aws.service[this.env];
|
|
58
57
|
serverConfig.privateKey = fs.readFileSync(serverConfig.privateKey);
|
|
59
58
|
}
|
|
@@ -113,7 +112,7 @@ var Release = /*#__PURE__*/function () {
|
|
|
113
112
|
}, {
|
|
114
113
|
key: "release",
|
|
115
114
|
value: function () {
|
|
116
|
-
var _release = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
115
|
+
var _release = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(grayBranch) {
|
|
117
116
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
118
117
|
while (1) switch (_context3.prev = _context3.next) {
|
|
119
118
|
case 0:
|
|
@@ -122,7 +121,9 @@ var Release = /*#__PURE__*/function () {
|
|
|
122
121
|
path: this.outPath,
|
|
123
122
|
fileName: "".concat(this.version),
|
|
124
123
|
isSSR: this.isSSR,
|
|
125
|
-
env: this.env
|
|
124
|
+
env: this.env,
|
|
125
|
+
branch: grayBranch,
|
|
126
|
+
projectName: this.projectName
|
|
126
127
|
});
|
|
127
128
|
case 2:
|
|
128
129
|
return _context3.abrupt("return", _context3.sent);
|
|
@@ -132,7 +133,7 @@ var Release = /*#__PURE__*/function () {
|
|
|
132
133
|
}
|
|
133
134
|
}, _callee3, this);
|
|
134
135
|
}));
|
|
135
|
-
function release() {
|
|
136
|
+
function release(_x) {
|
|
136
137
|
return _release.apply(this, arguments);
|
|
137
138
|
}
|
|
138
139
|
return release;
|
|
@@ -8,8 +8,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
8
8
|
import inquirer from 'inquirer';
|
|
9
9
|
import 'zx/globals';
|
|
10
10
|
import { uploadStaticToOSS } from "../aws/index.js";
|
|
11
|
+
import { originBranch } from "../constants/index.js";
|
|
11
12
|
import Release from "../release/release.js";
|
|
12
|
-
import { deleteGitTag, getCurrentProjectName, getCurrentUserName, sendWebhook } from "../utils/index.js";
|
|
13
|
+
import { deleteGitTag, getCurrentProjectName, getCurrentUserName, getGitCurrentBranch, sendWebhook } from "../utils/index.js";
|
|
13
14
|
import UploadCode from "./uploadCode.js";
|
|
14
15
|
// {\"post\":{\"zh_cn\":{\"title\":\"my_pisell_shop release环境开始上传并发布\",\"content\":[[{\"text\":\"发布人:\",\"style\":[\"bold\"]},{\"text\":\"左胜杰\",\"style\":[\"bold\"]}],[{\"text\":\"版本号:\",\"style\":[\"bold\"]},{\"text\":\"1.0.71\",\"style\":[\"bold\"]}]]}}}
|
|
15
16
|
/**
|
|
@@ -100,7 +101,7 @@ function init() {
|
|
|
100
101
|
*/
|
|
101
102
|
function _init() {
|
|
102
103
|
_init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
103
|
-
var res, uploadCode, version, currentUserName, result, _fileName, ossRes, conn, releaseInstance;
|
|
104
|
+
var res, uploadCode, version, currentUserName, result, _fileName, ossRes, conn, releaseInstance, branch, grayBranch;
|
|
104
105
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
105
106
|
while (1) switch (_context.prev = _context.next) {
|
|
106
107
|
case 0:
|
|
@@ -218,7 +219,7 @@ function _init() {
|
|
|
218
219
|
return uploadCode.serverUnpack();
|
|
219
220
|
case 60:
|
|
220
221
|
if (!res.is_release) {
|
|
221
|
-
_context.next =
|
|
222
|
+
_context.next = 70;
|
|
222
223
|
break;
|
|
223
224
|
}
|
|
224
225
|
releaseInstance = new Release({
|
|
@@ -229,31 +230,39 @@ function _init() {
|
|
|
229
230
|
});
|
|
230
231
|
console.log('开始发布');
|
|
231
232
|
_context.next = 65;
|
|
232
|
-
return
|
|
233
|
+
return getGitCurrentBranch();
|
|
233
234
|
case 65:
|
|
234
|
-
|
|
235
|
+
branch = _context.sent;
|
|
236
|
+
grayBranch = 'master';
|
|
237
|
+
if (!originBranch.includes(branch.trim())) {
|
|
238
|
+
grayBranch = branch;
|
|
239
|
+
}
|
|
240
|
+
_context.next = 70;
|
|
241
|
+
return releaseInstance.release(grayBranch);
|
|
242
|
+
case 70:
|
|
243
|
+
_context.next = 72;
|
|
235
244
|
return uploadCode.disconnectServer();
|
|
236
|
-
case
|
|
237
|
-
_context.next =
|
|
245
|
+
case 72:
|
|
246
|
+
_context.next = 74;
|
|
238
247
|
return $(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["git pull --no-edit"])));
|
|
239
|
-
case
|
|
240
|
-
_context.next =
|
|
248
|
+
case 74:
|
|
249
|
+
_context.next = 76;
|
|
241
250
|
return $(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["git push --follow-tags"])));
|
|
242
|
-
case
|
|
251
|
+
case 76:
|
|
243
252
|
console.log('✅ 成功后推送到git');
|
|
244
253
|
|
|
245
254
|
// 只有在shop端发布
|
|
246
255
|
if (!(res.project.fileName === 'my_pisel_shop')) {
|
|
247
|
-
_context.next =
|
|
256
|
+
_context.next = 80;
|
|
248
257
|
break;
|
|
249
258
|
}
|
|
250
|
-
_context.next =
|
|
259
|
+
_context.next = 80;
|
|
251
260
|
return updateVersion({
|
|
252
261
|
version: version,
|
|
253
262
|
changelog: res.changelog
|
|
254
263
|
}, res.env);
|
|
255
|
-
case
|
|
256
|
-
_context.next =
|
|
264
|
+
case 80:
|
|
265
|
+
_context.next = 82;
|
|
257
266
|
return sendWebhook({
|
|
258
267
|
title: "".concat(res.project.fileName, " ").concat(res.env, "\u73AF\u5883").concat(res.is_release ? '上传并发布' : '上传', "\u6210\u529F"),
|
|
259
268
|
content: [{
|
|
@@ -267,20 +276,20 @@ function _init() {
|
|
|
267
276
|
value: version || ''
|
|
268
277
|
}]
|
|
269
278
|
});
|
|
270
|
-
case
|
|
271
|
-
_context.next =
|
|
279
|
+
case 82:
|
|
280
|
+
_context.next = 93;
|
|
272
281
|
break;
|
|
273
|
-
case
|
|
274
|
-
_context.prev =
|
|
282
|
+
case 84:
|
|
283
|
+
_context.prev = 84;
|
|
275
284
|
_context.t0 = _context["catch"](26);
|
|
276
285
|
console.log(_context.t0, '执行出错 请排查重试');
|
|
277
|
-
_context.next =
|
|
286
|
+
_context.next = 89;
|
|
278
287
|
return $(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["git reset HEAD~1"])));
|
|
279
|
-
case
|
|
280
|
-
_context.next =
|
|
288
|
+
case 89:
|
|
289
|
+
_context.next = 91;
|
|
281
290
|
return deleteGitTag("v".concat(uploadCode.currentVersion));
|
|
282
|
-
case
|
|
283
|
-
_context.next =
|
|
291
|
+
case 91:
|
|
292
|
+
_context.next = 93;
|
|
284
293
|
return sendWebhook({
|
|
285
294
|
title: "".concat(res.project.fileName, " ").concat(res.env, "\u73AF\u5883").concat(res.is_release ? '上传并发布' : '上传', "\u5931\u8D25"),
|
|
286
295
|
content: [{
|
|
@@ -297,13 +306,13 @@ function _init() {
|
|
|
297
306
|
value: "".concat(_context.t0) || ''
|
|
298
307
|
}]
|
|
299
308
|
});
|
|
300
|
-
case
|
|
309
|
+
case 93:
|
|
301
310
|
uploadCode.deleteLocalZip();
|
|
302
|
-
case
|
|
311
|
+
case 94:
|
|
303
312
|
case "end":
|
|
304
313
|
return _context.stop();
|
|
305
314
|
}
|
|
306
|
-
}, _callee, null, [[26,
|
|
315
|
+
}, _callee, null, [[26, 84]]);
|
|
307
316
|
}));
|
|
308
317
|
return _init.apply(this, arguments);
|
|
309
318
|
}
|
|
@@ -11,7 +11,6 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
11
11
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
12
12
|
import archiver from 'archiver';
|
|
13
13
|
import path from 'path';
|
|
14
|
-
import { isAWSEnv } from "../aws/index.js";
|
|
15
14
|
import { checkPackages, isSsrMap, outPathMap } from "../constants/index.js";
|
|
16
15
|
import { checkPkgVersion, connectServer as _connectServer, getGitCurrentBranch, getServerConfig, isWorkingTreeClean, serverUnpack as _serverUnpack, serverUpload as _serverUpload } from "../utils/index.js";
|
|
17
16
|
|
|
@@ -111,7 +110,7 @@ var UploadCode = /*#__PURE__*/function () {
|
|
|
111
110
|
return _context.abrupt("return", false);
|
|
112
111
|
case 21:
|
|
113
112
|
serverConfig = this.setConfig(serverConfigMap[this.env]);
|
|
114
|
-
if (
|
|
113
|
+
if (this.env === 'prod') {
|
|
115
114
|
serverConfig = serverConfigMap.aws.service[this.env];
|
|
116
115
|
serverConfig.privateKey = fs.readFileSync(serverConfig.privateKey);
|
|
117
116
|
this.setConfig(serverConfig);
|
package/es/script/utils/index.js
CHANGED
|
@@ -13,7 +13,6 @@ import * as dotenv from 'dotenv';
|
|
|
13
13
|
import npmCheck from 'npm-check';
|
|
14
14
|
import path from 'path';
|
|
15
15
|
import ssh2 from 'ssh2';
|
|
16
|
-
import { isAWSEnv } from "../aws/index.js";
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* @Title: 项目工作区是否干净
|
|
@@ -173,7 +172,7 @@ var serverUnpack = function serverUnpack(conn, _ref5) {
|
|
|
173
172
|
reject(err);
|
|
174
173
|
return;
|
|
175
174
|
}
|
|
176
|
-
stream.end(" ".concat(
|
|
175
|
+
stream.end(" ".concat(env === 'prod' ? 'sudo -i' : '', "\n cd /tmp\n mv ").concat(fullFileName, " ").concat(path, "\n cd ").concat(path, "\n unzip ").concat(fullFileName, " -d ").concat(fileName, " && mv ").concat(fileName, "/dist/* ").concat(fileName, "/ && rmdir ").concat(fileName, "/dist\n rm -rf ").concat(fullFileName, "\n echo \"").concat(changelog, "\" > ./").concat(fileName, "/changelog.md\n sh deleteOldVersion.sh\n exit\n ").concat(env === 'prod' ? 'exit' : '', "\n ") // 打开到path
|
|
177
176
|
// 解压 1.0.0.zip 文件到 1.0.0 移动dist中内容到 1.0.0内 删除dist
|
|
178
177
|
// 删除1.0.0.zip
|
|
179
178
|
// 写入changelog到changelog.md
|
|
@@ -197,7 +196,12 @@ var releaseProject = function releaseProject(conn, _ref6) {
|
|
|
197
196
|
var path = _ref6.path,
|
|
198
197
|
fileName = _ref6.fileName,
|
|
199
198
|
isSSR = _ref6.isSSR,
|
|
200
|
-
env = _ref6.env
|
|
199
|
+
env = _ref6.env,
|
|
200
|
+
_ref6$branch = _ref6.branch,
|
|
201
|
+
branch = _ref6$branch === void 0 ? 'master' : _ref6$branch,
|
|
202
|
+
projectName = _ref6.projectName;
|
|
203
|
+
// 灰度项目的话重启目录不同 目前只有 my_pisel_shop和pisell2_pages走这个逻辑
|
|
204
|
+
var isGrayRestart = ['my_pisel_shop', 'pisell2_pages'].includes(projectName);
|
|
201
205
|
return new Promise(function (resolve, reject) {
|
|
202
206
|
conn.shell(function (err, stream) {
|
|
203
207
|
if (err) {
|
|
@@ -205,7 +209,7 @@ var releaseProject = function releaseProject(conn, _ref6) {
|
|
|
205
209
|
reject(err);
|
|
206
210
|
return;
|
|
207
211
|
}
|
|
208
|
-
stream.end(" ".concat(
|
|
212
|
+
stream.end(" ".concat(env === 'prod' ? 'sudo -i' : '', "\n cd ").concat(path, "\n cp -R -f pre-master next-master\n rm -rf pre-master\n \\cp -R -f ").concat(fileName, "/* next-master\n cp -R -f ").concat(fileName, " pre-master\n rm -rf ").concat(branch, "\n cp -R next-master ").concat(branch, "\n rm -rf next-master\n ").concat(isGrayRestart && isSSR ? "cd ../front_service\n pm2 restart ".concat(projectName, ".js\n ") : '', "\n ").concat(!isGrayRestart && isSSR ? 'pm2 restart server.js' : '', "\n exit\n ").concat(env === 'prod' ? 'exit' : '', "\n ") // 打开到path
|
|
209
213
|
// 复制pre-master到next-master
|
|
210
214
|
// 删除pre-master
|
|
211
215
|
// 复制1.0.0到next-master
|
package/lib/script/aws/index.js
CHANGED
|
@@ -29,7 +29,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
// src/script/aws/index.js
|
|
30
30
|
var aws_exports = {};
|
|
31
31
|
__export(aws_exports, {
|
|
32
|
-
isAWSEnv: () => isAWSEnv,
|
|
33
32
|
uploadFolderContents: () => uploadFolderContents,
|
|
34
33
|
uploadStaticToOSS: () => uploadStaticToOSS
|
|
35
34
|
});
|
|
@@ -43,9 +42,6 @@ var filterFiles = ["index.html", "umi.server.js", "umi.server.d.ts"];
|
|
|
43
42
|
var __dirname = process.cwd();
|
|
44
43
|
var s3Client = null;
|
|
45
44
|
var bucketName = "";
|
|
46
|
-
var isAWSEnv = (env) => {
|
|
47
|
-
return env === "prod" || env === "pre";
|
|
48
|
-
};
|
|
49
45
|
var init = async () => {
|
|
50
46
|
try {
|
|
51
47
|
const serverConfig = await (0, import_utils.getServerConfig)();
|
|
@@ -124,7 +120,6 @@ var uploadStaticToOSS = async (directory, folderPath = import_path.default.resol
|
|
|
124
120
|
};
|
|
125
121
|
// Annotate the CommonJS export names for ESM import in node:
|
|
126
122
|
0 && (module.exports = {
|
|
127
|
-
isAWSEnv,
|
|
128
123
|
uploadFolderContents,
|
|
129
124
|
uploadStaticToOSS
|
|
130
125
|
});
|
|
@@ -21,6 +21,7 @@ var constants_exports = {};
|
|
|
21
21
|
__export(constants_exports, {
|
|
22
22
|
checkPackages: () => checkPackages,
|
|
23
23
|
isSsrMap: () => isSsrMap,
|
|
24
|
+
originBranch: () => originBranch,
|
|
24
25
|
outPathMap: () => outPathMap
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(constants_exports);
|
|
@@ -52,11 +53,11 @@ var outPathMap = {
|
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
55
|
var isSsrMap = {
|
|
55
|
-
my_pisel_shop:
|
|
56
|
+
my_pisel_shop: true,
|
|
56
57
|
admin: false,
|
|
57
58
|
my_pisel_pc_v2: true,
|
|
58
59
|
my_pisel_h5_v2: true,
|
|
59
|
-
pisell2_pages:
|
|
60
|
+
pisell2_pages: true
|
|
60
61
|
};
|
|
61
62
|
var checkPackages = [
|
|
62
63
|
"@pisell/date-picker",
|
|
@@ -64,9 +65,20 @@ var checkPackages = [
|
|
|
64
65
|
"@pisell/common",
|
|
65
66
|
"@pisell/utils"
|
|
66
67
|
];
|
|
68
|
+
var originBranch = [
|
|
69
|
+
"master",
|
|
70
|
+
"release",
|
|
71
|
+
"develop",
|
|
72
|
+
"pre",
|
|
73
|
+
"master_v2",
|
|
74
|
+
"release_v2",
|
|
75
|
+
"develop_v2",
|
|
76
|
+
"pre_v2"
|
|
77
|
+
];
|
|
67
78
|
// Annotate the CommonJS export names for ESM import in node:
|
|
68
79
|
0 && (module.exports = {
|
|
69
80
|
checkPackages,
|
|
70
81
|
isSsrMap,
|
|
82
|
+
originBranch,
|
|
71
83
|
outPathMap
|
|
72
84
|
});
|
|
@@ -22,7 +22,6 @@ __export(release_exports, {
|
|
|
22
22
|
default: () => release_default
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(release_exports);
|
|
25
|
-
var import_aws = require("../aws/index.js");
|
|
26
25
|
var import_constants = require("../constants/index.js");
|
|
27
26
|
var import_utils = require("../utils/index.js");
|
|
28
27
|
var Release = class {
|
|
@@ -46,7 +45,7 @@ var Release = class {
|
|
|
46
45
|
if (this.env === "release") {
|
|
47
46
|
serverConfig = serverConfigMap.cn[this.env];
|
|
48
47
|
}
|
|
49
|
-
if (
|
|
48
|
+
if (this.env === "prod") {
|
|
50
49
|
serverConfig = serverConfigMap.aws.service[this.env];
|
|
51
50
|
serverConfig.privateKey = fs.readFileSync(serverConfig.privateKey);
|
|
52
51
|
}
|
|
@@ -71,12 +70,14 @@ var Release = class {
|
|
|
71
70
|
* @Describe:
|
|
72
71
|
* @Author: Zsj
|
|
73
72
|
*/
|
|
74
|
-
async release() {
|
|
73
|
+
async release(grayBranch) {
|
|
75
74
|
return await (0, import_utils.releaseProject)(this.conn, {
|
|
76
75
|
path: this.outPath,
|
|
77
76
|
fileName: `${this.version}`,
|
|
78
77
|
isSSR: this.isSSR,
|
|
79
|
-
env: this.env
|
|
78
|
+
env: this.env,
|
|
79
|
+
branch: grayBranch,
|
|
80
|
+
projectName: this.projectName
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
/**
|
|
@@ -36,6 +36,7 @@ module.exports = __toCommonJS(uploadCode_exports);
|
|
|
36
36
|
var import_inquirer = __toESM(require("inquirer"));
|
|
37
37
|
var import_globals = require("zx/globals");
|
|
38
38
|
var import_aws = require("../aws/index.js");
|
|
39
|
+
var import_constants = require("../constants/index.js");
|
|
39
40
|
var import_release = __toESM(require("../release/release.js"));
|
|
40
41
|
var import_utils = require("../utils/index.js");
|
|
41
42
|
var import_uploadCode = __toESM(require("./uploadCode.js"));
|
|
@@ -182,7 +183,12 @@ async function init() {
|
|
|
182
183
|
conn
|
|
183
184
|
});
|
|
184
185
|
console.log("开始发布");
|
|
185
|
-
await
|
|
186
|
+
const branch = await (0, import_utils.getGitCurrentBranch)();
|
|
187
|
+
let grayBranch = "master";
|
|
188
|
+
if (!import_constants.originBranch.includes(branch.trim())) {
|
|
189
|
+
grayBranch = branch;
|
|
190
|
+
}
|
|
191
|
+
await releaseInstance.release(grayBranch);
|
|
186
192
|
}
|
|
187
193
|
await uploadCode.disconnectServer();
|
|
188
194
|
await $`git pull --no-edit`;
|
|
@@ -34,7 +34,6 @@ __export(uploadCode_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(uploadCode_exports);
|
|
35
35
|
var import_archiver = __toESM(require("archiver"));
|
|
36
36
|
var import_path = __toESM(require("path"));
|
|
37
|
-
var import_aws = require("../aws/index.js");
|
|
38
37
|
var import_constants = require("../constants/index.js");
|
|
39
38
|
var import_utils = require("../utils/index.js");
|
|
40
39
|
var UploadCode = class {
|
|
@@ -85,7 +84,7 @@ var UploadCode = class {
|
|
|
85
84
|
return false;
|
|
86
85
|
}
|
|
87
86
|
let serverConfig = this.setConfig(serverConfigMap[this.env]);
|
|
88
|
-
if (
|
|
87
|
+
if (this.env === "prod") {
|
|
89
88
|
serverConfig = serverConfigMap.aws.service[this.env];
|
|
90
89
|
serverConfig.privateKey = fs.readFileSync(serverConfig.privateKey);
|
|
91
90
|
this.setConfig(serverConfig);
|
|
@@ -49,7 +49,6 @@ var dotenv = __toESM(require("dotenv"));
|
|
|
49
49
|
var import_npm_check = __toESM(require("npm-check"));
|
|
50
50
|
var import_path = __toESM(require("path"));
|
|
51
51
|
var import_ssh2 = __toESM(require("ssh2"));
|
|
52
|
-
var import_aws = require("../aws/index.js");
|
|
53
52
|
var isWorkingTreeClean = async () => {
|
|
54
53
|
const v = await $`git status --porcelain`;
|
|
55
54
|
return v.stdout === "";
|
|
@@ -127,7 +126,7 @@ var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog, env
|
|
|
127
126
|
return;
|
|
128
127
|
}
|
|
129
128
|
stream.end(
|
|
130
|
-
` ${
|
|
129
|
+
` ${env === "prod" ? "sudo -i" : ""}
|
|
131
130
|
cd /tmp
|
|
132
131
|
mv ${fullFileName} ${path2}
|
|
133
132
|
cd ${path2}
|
|
@@ -136,7 +135,7 @@ var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog, env
|
|
|
136
135
|
echo "${changelog}" > ./${fileName}/changelog.md
|
|
137
136
|
sh deleteOldVersion.sh
|
|
138
137
|
exit
|
|
139
|
-
${
|
|
138
|
+
${env === "prod" ? "exit" : ""}
|
|
140
139
|
`
|
|
141
140
|
// 打开到path
|
|
142
141
|
// 解压 1.0.0.zip 文件到 1.0.0 移动dist中内容到 1.0.0内 删除dist
|
|
@@ -152,7 +151,10 @@ var serverUnpack = (conn, { path: path2, fileName, fullFileName, changelog, env
|
|
|
152
151
|
});
|
|
153
152
|
});
|
|
154
153
|
};
|
|
155
|
-
var releaseProject = (conn, { path: path2, fileName, isSSR, env }) => {
|
|
154
|
+
var releaseProject = (conn, { path: path2, fileName, isSSR, env, branch = "master", projectName }) => {
|
|
155
|
+
const isGrayRestart = ["my_pisel_shop", "pisell2_pages"].includes(
|
|
156
|
+
projectName
|
|
157
|
+
);
|
|
156
158
|
return new Promise((resolve, reject) => {
|
|
157
159
|
conn.shell((err, stream) => {
|
|
158
160
|
if (err) {
|
|
@@ -161,18 +163,21 @@ var releaseProject = (conn, { path: path2, fileName, isSSR, env }) => {
|
|
|
161
163
|
return;
|
|
162
164
|
}
|
|
163
165
|
stream.end(
|
|
164
|
-
` ${
|
|
166
|
+
` ${env === "prod" ? "sudo -i" : ""}
|
|
165
167
|
cd ${path2}
|
|
166
168
|
cp -R -f pre-master next-master
|
|
167
169
|
rm -rf pre-master
|
|
168
170
|
\\cp -R -f ${fileName}/* next-master
|
|
169
171
|
cp -R -f ${fileName} pre-master
|
|
170
|
-
rm -rf
|
|
171
|
-
cp -R next-master
|
|
172
|
+
rm -rf ${branch}
|
|
173
|
+
cp -R next-master ${branch}
|
|
172
174
|
rm -rf next-master
|
|
173
|
-
${isSSR ?
|
|
175
|
+
${isGrayRestart && isSSR ? `cd ../front_service
|
|
176
|
+
pm2 restart ${projectName}.js
|
|
177
|
+
` : ""}
|
|
178
|
+
${!isGrayRestart && isSSR ? "pm2 restart server.js" : ""}
|
|
174
179
|
exit
|
|
175
|
-
${
|
|
180
|
+
${env === "prod" ? "exit" : ""}
|
|
176
181
|
`
|
|
177
182
|
// 打开到path
|
|
178
183
|
// 复制pre-master到next-master
|