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