@lakutata/cli 1.0.32 → 1.0.33
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/build/Deploy.js +21 -1
- package/build/Deploy.js.map +1 -1
- package/package.json +1 -1
- package/src/Deploy.ts +20 -0
package/build/Deploy.js
CHANGED
|
@@ -2,19 +2,38 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
(async () => {
|
|
4
4
|
const path = require('path');
|
|
5
|
+
const fs = require('fs');
|
|
5
6
|
const args = require('args');
|
|
6
7
|
const inquirer = require('inquirer');
|
|
7
8
|
const shelljs = require('shelljs');
|
|
8
9
|
const moment = require('moment-timezone');
|
|
9
10
|
const packageJson = require(path.resolve(process.cwd(), './package.json'));
|
|
11
|
+
const deployResultFilename = path.resolve(process.cwd(), './node_modules/.lakutata_deploy_result');
|
|
10
12
|
args
|
|
11
13
|
.option('dockerfile', 'Dockerfile文件路径', './Dockerfile')
|
|
12
14
|
.option('repository', '镜像仓库地址')
|
|
13
15
|
.option('username', '镜像仓库用户名')
|
|
14
16
|
.option('password', '镜像仓库密码')
|
|
15
17
|
.option('platform', '构建平台')
|
|
16
|
-
.option('tagLatest', '是否为镜像打上latest的标签')
|
|
18
|
+
.option('tagLatest', '是否为镜像打上latest的标签')
|
|
19
|
+
.option('mode', '运行模式(exec=执行部署,result=查看部署结果)', 'exec');
|
|
17
20
|
const flags = args.parse(process.argv);
|
|
21
|
+
if (flags.mode === 'result') {
|
|
22
|
+
if (!fs.existsSync(deployResultFilename)) {
|
|
23
|
+
console.error('未执行部署,无法查看部署结果');
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
const deployResult = fs.readFileSync(deployResultFilename).toString();
|
|
27
|
+
if (!deployResult) {
|
|
28
|
+
console.error('未部署成功,无法查看部署结果');
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
console.log(deployResult);
|
|
32
|
+
return process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
fs.writeFileSync(deployResultFilename, '', { flag: 'w' });
|
|
36
|
+
}
|
|
18
37
|
const REGISTRY_ADDR = flags.repository;
|
|
19
38
|
const DOCKERFILE_PATH = flags.dockerfile;
|
|
20
39
|
const REPOSITORY_ADDR = new URL(`repo://${REGISTRY_ADDR}`).hostname;
|
|
@@ -100,6 +119,7 @@
|
|
|
100
119
|
const cleanImageResult = shelljs.exec(`docker rmi -f ${IMAGE_BASE_NAME}:${IMAGE_VERSION}`);
|
|
101
120
|
if (cleanImageResult.code)
|
|
102
121
|
return process.exit(cleanImageResult.code);
|
|
122
|
+
fs.writeFileSync(deployResultFilename, `${REGISTRY_ADDR}:${IMAGE_VERSION}`, { flag: 'w' });
|
|
103
123
|
}
|
|
104
124
|
catch (e) {
|
|
105
125
|
console.error(e.message);
|
package/build/Deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deploy.js","sourceRoot":"","sources":["../src/Deploy.ts"],"names":[],"mappings":";;AACA,CAAC,KAAK,IAAI,EAAE;IACR,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAC1E,IAAI;SACC,MAAM,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC;SACtD,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC;SAC9B,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;SAC7B,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;SAC5B,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;SAC1B,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Deploy.js","sourceRoot":"","sources":["../src/Deploy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Deploy.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
(async () => {
|
|
3
3
|
const path = require('path')
|
|
4
|
+
const fs = require('fs')
|
|
4
5
|
const args = require('args')
|
|
5
6
|
const inquirer = require('inquirer')
|
|
6
7
|
const shelljs = require('shelljs')
|
|
7
8
|
const moment = require('moment-timezone')
|
|
8
9
|
const packageJson = require(path.resolve(process.cwd(), './package.json'))
|
|
10
|
+
const deployResultFilename = path.resolve(process.cwd(), './node_modules/.lakutata_deploy_result')
|
|
9
11
|
args
|
|
10
12
|
.option('dockerfile', 'Dockerfile文件路径', './Dockerfile')
|
|
11
13
|
.option('repository', '镜像仓库地址')
|
|
@@ -13,7 +15,24 @@
|
|
|
13
15
|
.option('password', '镜像仓库密码')
|
|
14
16
|
.option('platform', '构建平台')
|
|
15
17
|
.option('tagLatest', '是否为镜像打上latest的标签')
|
|
18
|
+
.option('mode', '运行模式(exec=执行部署,result=查看部署结果)', 'exec')
|
|
16
19
|
const flags = args.parse(process.argv)
|
|
20
|
+
if (flags.mode === 'result') {
|
|
21
|
+
//查看部署的结果
|
|
22
|
+
if (!fs.existsSync(deployResultFilename)) {
|
|
23
|
+
console.error('未执行部署,无法查看部署结果')
|
|
24
|
+
process.exit(1)
|
|
25
|
+
}
|
|
26
|
+
const deployResult = fs.readFileSync(deployResultFilename).toString()
|
|
27
|
+
if (!deployResult) {
|
|
28
|
+
console.error('未部署成功,无法查看部署结果')
|
|
29
|
+
process.exit(1)
|
|
30
|
+
}
|
|
31
|
+
console.log(deployResult)
|
|
32
|
+
return process.exit(0)
|
|
33
|
+
} else {
|
|
34
|
+
fs.writeFileSync(deployResultFilename, '', {flag: 'w'})//创建文件,若文件已存在则清空之前的部署结果
|
|
35
|
+
}
|
|
17
36
|
const REGISTRY_ADDR = flags.repository
|
|
18
37
|
const DOCKERFILE_PATH = flags.dockerfile
|
|
19
38
|
const REPOSITORY_ADDR = new URL(`repo://${REGISTRY_ADDR}`).hostname
|
|
@@ -97,6 +116,7 @@
|
|
|
97
116
|
}
|
|
98
117
|
const cleanImageResult = shelljs.exec(`docker rmi -f ${IMAGE_BASE_NAME}:${IMAGE_VERSION}`)
|
|
99
118
|
if (cleanImageResult.code) return process.exit(cleanImageResult.code)
|
|
119
|
+
fs.writeFileSync(deployResultFilename, `${REGISTRY_ADDR}:${IMAGE_VERSION}`, {flag: 'w'})//将部署结果写入结果文件中
|
|
100
120
|
} catch (e) {
|
|
101
121
|
console.error((e as Error).message)
|
|
102
122
|
process.exit(1)
|