cloudcc-cli 0.8.1 → 0.8.5
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/README.md +28 -0
- package/package.json +1 -1
- package/src/publishProject.js +8 -7
- package/utils/changeVersion copy.js +75 -0
- package/utils/changeVersion.js +21 -55
- package/utils/pushCode.js +12 -7
- package/utils/test.js +4 -0
package/README.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# ReleaseV0.8.5
|
|
2
|
+
#### 发布日期:2021-11-25
|
|
3
|
+
#### 发布范围:全量
|
|
4
|
+
#### 发布内容
|
|
5
|
+
* 优化
|
|
6
|
+
* RC加入升级第二位version
|
|
7
|
+
|
|
8
|
+
# ReleaseV0.8.4
|
|
9
|
+
#### 发布日期:2021-11-25
|
|
10
|
+
#### 发布范围:全量
|
|
11
|
+
#### 发布内容
|
|
12
|
+
* 优化
|
|
13
|
+
* 打印version信息
|
|
14
|
+
|
|
15
|
+
# ReleaseV0.8.3
|
|
16
|
+
#### 发布日期:2021-11-25
|
|
17
|
+
#### 发布范围:全量
|
|
18
|
+
#### 发布内容
|
|
19
|
+
* 优化
|
|
20
|
+
* 更改生成version逻辑
|
|
21
|
+
|
|
22
|
+
# ReleaseV0.8.2
|
|
23
|
+
#### 发布日期:2021-11-24
|
|
24
|
+
#### 发布范围:全量
|
|
25
|
+
#### 发布内容
|
|
26
|
+
* 优化
|
|
27
|
+
* 推送代码如果失败,强制退出
|
|
28
|
+
|
|
1
29
|
# ReleaseV0.8.1
|
|
2
30
|
#### 发布日期:2021-11-18
|
|
3
31
|
#### 发布范围:全量
|
package/package.json
CHANGED
package/src/publishProject.js
CHANGED
|
@@ -57,14 +57,15 @@ class Publish {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// 发布代码并设置tags,触发发布,飞书提醒
|
|
60
|
-
pushCodeAndTags([condition.type])
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
if (pushCodeAndTags([condition.type])) {
|
|
61
|
+
if (projectConfig && projectConfig.config) {
|
|
62
|
+
jenkins(projectConfig.config["jenkins-" + condition.type])
|
|
63
|
+
}
|
|
64
|
+
notifyFeishu(condition.type, version, projectConfig)
|
|
65
|
+
console.log();
|
|
66
|
+
console.log(chalk.green('发布完成'));
|
|
67
|
+
console.log();
|
|
63
68
|
}
|
|
64
|
-
notifyFeishu(condition.type, version, projectConfig)
|
|
65
|
-
console.log();
|
|
66
|
-
console.log(chalk.green('发布完成'));
|
|
67
|
-
console.log();
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
|
|
2
|
+
function change(ori) {
|
|
3
|
+
// let ori = "12.0.9";
|
|
4
|
+
let split = ori.split(".");
|
|
5
|
+
let ret = "";
|
|
6
|
+
if (split.length == 4) {
|
|
7
|
+
// 12.1.0.0 形式的
|
|
8
|
+
for (let i = 0; i < split.length; i++) {
|
|
9
|
+
let last = split[3];
|
|
10
|
+
if (last < 9999) {
|
|
11
|
+
last++;
|
|
12
|
+
ret = split[0] + "." + split[1] + "." + split[2] + "." + last;
|
|
13
|
+
break;
|
|
14
|
+
} else {
|
|
15
|
+
let second = split[2];
|
|
16
|
+
if (second < 9) {
|
|
17
|
+
second++;
|
|
18
|
+
ret = split[0] + "." + split[1] + "." + second + ".0";
|
|
19
|
+
break;
|
|
20
|
+
} else {
|
|
21
|
+
let third = split[1];
|
|
22
|
+
if (third < 9) {
|
|
23
|
+
third++;
|
|
24
|
+
ret = split[0] + "." + third + ".0" + ".0";
|
|
25
|
+
break;
|
|
26
|
+
} else {
|
|
27
|
+
let forth = split[0];
|
|
28
|
+
forth++;
|
|
29
|
+
ret = forth + ".0.0.0";
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return ret;
|
|
36
|
+
} else {
|
|
37
|
+
// 12.0.9 形式的
|
|
38
|
+
for (let i = 0; i < split.length; i++) {
|
|
39
|
+
let last = split[2];
|
|
40
|
+
if (last < 9) {
|
|
41
|
+
last++;
|
|
42
|
+
ret = split[0] + "." + split[1] + "." + last;
|
|
43
|
+
break;
|
|
44
|
+
} else {
|
|
45
|
+
let second = split[1];
|
|
46
|
+
if (second < 9) {
|
|
47
|
+
second++;
|
|
48
|
+
ret = split[0] + "." + second + ".0";
|
|
49
|
+
break;
|
|
50
|
+
} else {
|
|
51
|
+
let third = split[0];
|
|
52
|
+
third++;
|
|
53
|
+
ret = third + ".0.0";
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return ret;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
module.exports = { change }
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* 修改版本号
|
|
67
|
+
* @param {ori} 版本号
|
|
68
|
+
* @param {type} 类型:Dev,uat,GA,Release
|
|
69
|
+
* @returns 新的版本号
|
|
70
|
+
*/
|
|
71
|
+
// 需要更新第二位
|
|
72
|
+
const updateSecond = ["Release"];
|
|
73
|
+
|
|
74
|
+
// 需要更新第三位
|
|
75
|
+
const updateLast = ["Dev", "uat", "GA", "RC"];
|
package/utils/changeVersion.js
CHANGED
|
@@ -1,61 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 修改版本号
|
|
3
|
+
* @param {ori} 版本号:12.0.123
|
|
4
|
+
* @param {type} 类型:Dev,uat,GA,Release
|
|
5
|
+
* @returns 新的版本号
|
|
6
|
+
*/
|
|
7
|
+
// 需要更新第二位
|
|
8
|
+
const updateSecond = ["Release", "GA"];
|
|
1
9
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} else {
|
|
15
|
-
let second = split[2];
|
|
16
|
-
if (second < 9) {
|
|
17
|
-
second++;
|
|
18
|
-
ret = split[0] + "." + split[1] + "." + second + ".0";
|
|
19
|
-
break;
|
|
20
|
-
} else {
|
|
21
|
-
let third = split[1];
|
|
22
|
-
if (third < 9) {
|
|
23
|
-
third++;
|
|
24
|
-
ret = split[0] + "." + third + ".0" + ".0";
|
|
25
|
-
break;
|
|
26
|
-
} else {
|
|
27
|
-
let forth = split[0];
|
|
28
|
-
forth++;
|
|
29
|
-
ret = forth + ".0.0.0";
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return ret;
|
|
36
|
-
} else {
|
|
37
|
-
// 12.0.9 形式的
|
|
38
|
-
for (let i = 0; i < split.length; i++) {
|
|
39
|
-
let last = split[2];
|
|
40
|
-
if (last < 9) {
|
|
41
|
-
last++;
|
|
42
|
-
ret = split[0] + "." + split[1] + "." + last;
|
|
43
|
-
break;
|
|
44
|
-
} else {
|
|
45
|
-
let second = split[1];
|
|
46
|
-
if (second < 9) {
|
|
47
|
-
second++;
|
|
48
|
-
ret = split[0] + "." + second + ".0";
|
|
49
|
-
break;
|
|
50
|
-
} else {
|
|
51
|
-
let third = split[0];
|
|
52
|
-
third++;
|
|
53
|
-
ret = third + ".0.0";
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
10
|
+
// 需要更新第三位
|
|
11
|
+
const updateLast = ["Dev", "uat", "RC"];
|
|
12
|
+
|
|
13
|
+
function change(version, type) {
|
|
14
|
+
if (version) {
|
|
15
|
+
let split = version.split(".");
|
|
16
|
+
let ret = "";
|
|
17
|
+
if (split && split.length === 3) {
|
|
18
|
+
if (updateSecond.includes(type)) {
|
|
19
|
+
ret = split[0] + "." + (++split[1]) + "." + split[2];
|
|
20
|
+
} else if (updateLast.includes(type)) {
|
|
21
|
+
ret = split[0] + "." + split[1] + "." + (++split[2]);
|
|
56
22
|
}
|
|
57
23
|
}
|
|
58
24
|
return ret;
|
|
59
25
|
}
|
|
60
26
|
}
|
|
61
|
-
module.exports = { change }
|
|
27
|
+
module.exports = { change }
|
package/utils/pushCode.js
CHANGED
|
@@ -31,9 +31,9 @@ function push(version) {
|
|
|
31
31
|
console.log();
|
|
32
32
|
console.log(chalk.green('代码推送成功!'));
|
|
33
33
|
} catch (error) {
|
|
34
|
-
console.log(chalk.red('
|
|
34
|
+
console.log(chalk.red('代码推送失败,本地代码与线上不同步,请先 git pull 同步!'));
|
|
35
35
|
console.log();
|
|
36
|
-
|
|
36
|
+
return false;
|
|
37
37
|
}
|
|
38
38
|
return true
|
|
39
39
|
}
|
|
@@ -81,10 +81,10 @@ function setTag(types, versions) {
|
|
|
81
81
|
|
|
82
82
|
// 添加tag
|
|
83
83
|
versions.map((version) => {
|
|
84
|
-
exec("git tag " + version)
|
|
84
|
+
exec("git tag " + version + " -f")
|
|
85
85
|
})
|
|
86
86
|
types.map((type) => {
|
|
87
|
-
exec("git tag " + type)
|
|
87
|
+
exec("git tag " + type + " -f")
|
|
88
88
|
})
|
|
89
89
|
|
|
90
90
|
// 推送tag
|
|
@@ -102,12 +102,14 @@ function getNewVersionName(types) {
|
|
|
102
102
|
exec("git fetch --tags -f")
|
|
103
103
|
return types.map((item) => {
|
|
104
104
|
// 更新本地tag
|
|
105
|
-
let version = exec(`git
|
|
105
|
+
let version = exec(`git log --oneline --tags -1`)
|
|
106
106
|
version = version.toString("utf8").trim();
|
|
107
107
|
if (version) {
|
|
108
|
-
|
|
108
|
+
// 取版本号
|
|
109
109
|
version = version.split("-V")[1]
|
|
110
|
-
|
|
110
|
+
// 改变版本号
|
|
111
|
+
version = changeVersion.change(version, item)
|
|
112
|
+
// 生成最后的版本号
|
|
111
113
|
item = item + "-V" + version
|
|
112
114
|
} else {
|
|
113
115
|
item = item + "-V0.0.1"
|
|
@@ -122,6 +124,9 @@ function getNewVersionName(types) {
|
|
|
122
124
|
*/
|
|
123
125
|
function pushCodeAndTags(types = []) {
|
|
124
126
|
let versions = getNewVersionName(types);
|
|
127
|
+
console.log();
|
|
128
|
+
console.log(chalk.green('待发布版本:' + versions));
|
|
129
|
+
console.log();
|
|
125
130
|
return push(versions[0]) && setTag(types, versions)
|
|
126
131
|
}
|
|
127
132
|
module.exports = { pushCodeAndTags, push, getNewVersionName, setTag }
|
package/utils/test.js
ADDED