clouddreamai-cicd-setup 1.0.0
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 +189 -0
- package/bin/cicd-setup.js +3 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +187 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/gitlab-client.d.ts +80 -0
- package/dist/core/gitlab-client.d.ts.map +1 -0
- package/dist/core/gitlab-client.js +252 -0
- package/dist/core/gitlab-client.js.map +1 -0
- package/dist/core/types.d.ts +152 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/variables.d.ts +50 -0
- package/dist/core/variables.d.ts.map +1 -0
- package/dist/core/variables.js +243 -0
- package/dist/core/variables.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/prompts.d.ts +47 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +369 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/template.d.ts +50 -0
- package/dist/utils/template.d.ts.map +1 -0
- package/dist/utils/template.js +189 -0
- package/dist/utils/template.js.map +1 -0
- package/package.json +50 -0
- package/templates/gitlab-ci/nestjs.yml +167 -0
- package/templates/gitlab-ci/vue.yml +167 -0
- package/templates/scripts/deploy.sh +141 -0
- package/templates/scripts/generate-env.sh +84 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CloudDreamAI CI/CD Setup - 变量配置器
|
|
4
|
+
* 根据项目类型生成所需的 CI/CD 变量列表
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.VariableConfigurator = void 0;
|
|
8
|
+
exports.createVariableConfigurator = createVariableConfigurator;
|
|
9
|
+
/**
|
|
10
|
+
* 通用变量定义(所有项目类型都需要)
|
|
11
|
+
*/
|
|
12
|
+
const COMMON_VARIABLES = [
|
|
13
|
+
{
|
|
14
|
+
key: 'GITLAB_ACCESS_TOKEN',
|
|
15
|
+
description: 'GitLab Personal Access Token,用于 CI/CD 中的 Git 操作',
|
|
16
|
+
protected: true,
|
|
17
|
+
masked: true,
|
|
18
|
+
variable_type: 'env_var',
|
|
19
|
+
required: true,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
key: 'DOCKER_HUB_USERNAME',
|
|
23
|
+
description: 'Docker Hub 用户名',
|
|
24
|
+
protected: true,
|
|
25
|
+
masked: false,
|
|
26
|
+
variable_type: 'env_var',
|
|
27
|
+
required: true,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'DOCKER_HUB_PASSWORD',
|
|
31
|
+
description: 'Docker Hub 密码或 Access Token',
|
|
32
|
+
protected: true,
|
|
33
|
+
masked: true,
|
|
34
|
+
variable_type: 'env_var',
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: 'SSH_PRIVATE_KEY',
|
|
39
|
+
description: '部署服务器的 SSH 私钥',
|
|
40
|
+
protected: true,
|
|
41
|
+
masked: true,
|
|
42
|
+
variable_type: 'env_var',
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'TEST_SERVER_HOST',
|
|
47
|
+
description: '测试/开发服务器 IP 地址或主机名',
|
|
48
|
+
protected: false,
|
|
49
|
+
masked: false,
|
|
50
|
+
variable_type: 'env_var',
|
|
51
|
+
required: true,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: 'PROD_SERVER_HOST',
|
|
55
|
+
description: '生产服务器 IP 地址或主机名',
|
|
56
|
+
protected: true,
|
|
57
|
+
masked: false,
|
|
58
|
+
variable_type: 'env_var',
|
|
59
|
+
required: true,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
/**
|
|
63
|
+
* 环境变量文件(后端项目需要)
|
|
64
|
+
*/
|
|
65
|
+
const ENV_FILE_VARIABLES = [
|
|
66
|
+
{
|
|
67
|
+
key: 'DEV_ENV_FILE',
|
|
68
|
+
description: '开发环境 .env 文件内容',
|
|
69
|
+
protected: true,
|
|
70
|
+
masked: false,
|
|
71
|
+
variable_type: 'file',
|
|
72
|
+
required: false,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: 'PROD_ENV_FILE',
|
|
76
|
+
description: '生产环境 .env 文件内容',
|
|
77
|
+
protected: true,
|
|
78
|
+
masked: false,
|
|
79
|
+
variable_type: 'file',
|
|
80
|
+
required: false,
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
/**
|
|
84
|
+
* 变量配置器
|
|
85
|
+
*/
|
|
86
|
+
class VariableConfigurator {
|
|
87
|
+
/**
|
|
88
|
+
* 根据项目类型获取所需的变量定义
|
|
89
|
+
*/
|
|
90
|
+
getVariableDefinitions(projectType) {
|
|
91
|
+
const definitions = [...COMMON_VARIABLES];
|
|
92
|
+
// 后端项目需要环境变量文件
|
|
93
|
+
if (projectType === 'nestjs' || projectType === 'node') {
|
|
94
|
+
definitions.push(...ENV_FILE_VARIABLES);
|
|
95
|
+
}
|
|
96
|
+
// 前端项目也可能需要环境变量文件(用于构建时注入)
|
|
97
|
+
if (projectType === 'vue' || projectType === 'react') {
|
|
98
|
+
definitions.push(...ENV_FILE_VARIABLES);
|
|
99
|
+
}
|
|
100
|
+
return definitions;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 从配置对象生成变量列表
|
|
104
|
+
*/
|
|
105
|
+
generateVariables(config) {
|
|
106
|
+
const variables = [];
|
|
107
|
+
// GitLab Access Token
|
|
108
|
+
variables.push({
|
|
109
|
+
key: 'GITLAB_ACCESS_TOKEN',
|
|
110
|
+
value: config.gitlab.token,
|
|
111
|
+
protected: true,
|
|
112
|
+
masked: true,
|
|
113
|
+
variable_type: 'env_var',
|
|
114
|
+
description: 'GitLab Personal Access Token',
|
|
115
|
+
});
|
|
116
|
+
// Docker Hub 凭据
|
|
117
|
+
variables.push({
|
|
118
|
+
key: 'DOCKER_HUB_USERNAME',
|
|
119
|
+
value: config.dockerHub.username,
|
|
120
|
+
protected: true,
|
|
121
|
+
masked: false,
|
|
122
|
+
variable_type: 'env_var',
|
|
123
|
+
description: 'Docker Hub 用户名',
|
|
124
|
+
});
|
|
125
|
+
variables.push({
|
|
126
|
+
key: 'DOCKER_HUB_PASSWORD',
|
|
127
|
+
value: config.dockerHub.password,
|
|
128
|
+
protected: true,
|
|
129
|
+
masked: true,
|
|
130
|
+
variable_type: 'env_var',
|
|
131
|
+
description: 'Docker Hub 密码',
|
|
132
|
+
});
|
|
133
|
+
// SSH 私钥
|
|
134
|
+
variables.push({
|
|
135
|
+
key: 'SSH_PRIVATE_KEY',
|
|
136
|
+
value: config.sshPrivateKey,
|
|
137
|
+
protected: true,
|
|
138
|
+
masked: true,
|
|
139
|
+
variable_type: 'env_var',
|
|
140
|
+
description: '部署服务器 SSH 私钥',
|
|
141
|
+
});
|
|
142
|
+
// 服务器配置
|
|
143
|
+
variables.push({
|
|
144
|
+
key: 'TEST_SERVER_HOST',
|
|
145
|
+
value: config.server.testServerHost,
|
|
146
|
+
protected: false,
|
|
147
|
+
masked: false,
|
|
148
|
+
variable_type: 'env_var',
|
|
149
|
+
description: '测试服务器主机',
|
|
150
|
+
});
|
|
151
|
+
variables.push({
|
|
152
|
+
key: 'PROD_SERVER_HOST',
|
|
153
|
+
value: config.server.prodServerHost,
|
|
154
|
+
protected: true,
|
|
155
|
+
masked: false,
|
|
156
|
+
variable_type: 'env_var',
|
|
157
|
+
description: '生产服务器主机',
|
|
158
|
+
});
|
|
159
|
+
// 环境变量文件(如果提供)
|
|
160
|
+
if (config.devEnvFile) {
|
|
161
|
+
variables.push({
|
|
162
|
+
key: 'DEV_ENV_FILE',
|
|
163
|
+
value: config.devEnvFile,
|
|
164
|
+
protected: true,
|
|
165
|
+
masked: false,
|
|
166
|
+
variable_type: 'file',
|
|
167
|
+
description: '开发环境 .env 文件',
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
if (config.prodEnvFile) {
|
|
171
|
+
variables.push({
|
|
172
|
+
key: 'PROD_ENV_FILE',
|
|
173
|
+
value: config.prodEnvFile,
|
|
174
|
+
protected: true,
|
|
175
|
+
masked: false,
|
|
176
|
+
variable_type: 'file',
|
|
177
|
+
description: '生产环境 .env 文件',
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return variables;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* 验证配置完整性
|
|
184
|
+
*/
|
|
185
|
+
validateConfig(config) {
|
|
186
|
+
const errors = [];
|
|
187
|
+
if (!config.gitlab.baseUrl) {
|
|
188
|
+
errors.push('缺少 GitLab URL');
|
|
189
|
+
}
|
|
190
|
+
if (!config.gitlab.token) {
|
|
191
|
+
errors.push('缺少 GitLab Token');
|
|
192
|
+
}
|
|
193
|
+
if (!config.dockerHub.username) {
|
|
194
|
+
errors.push('缺少 Docker Hub 用户名');
|
|
195
|
+
}
|
|
196
|
+
if (!config.dockerHub.password) {
|
|
197
|
+
errors.push('缺少 Docker Hub 密码');
|
|
198
|
+
}
|
|
199
|
+
if (!config.sshPrivateKey) {
|
|
200
|
+
errors.push('缺少 SSH 私钥');
|
|
201
|
+
}
|
|
202
|
+
if (!config.server.testServerHost) {
|
|
203
|
+
errors.push('缺少测试服务器地址');
|
|
204
|
+
}
|
|
205
|
+
if (!config.server.prodServerHost) {
|
|
206
|
+
errors.push('缺少生产服务器地址');
|
|
207
|
+
}
|
|
208
|
+
if (!config.project.name) {
|
|
209
|
+
errors.push('缺少项目名称');
|
|
210
|
+
}
|
|
211
|
+
if (!config.project.dockerImage) {
|
|
212
|
+
errors.push('缺少 Docker 镜像名称');
|
|
213
|
+
}
|
|
214
|
+
return {
|
|
215
|
+
valid: errors.length === 0,
|
|
216
|
+
errors,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* 获取变量的简要说明(用于显示)
|
|
221
|
+
*/
|
|
222
|
+
getVariableSummary(variables) {
|
|
223
|
+
const lines = variables.map((v) => {
|
|
224
|
+
const type = v.variable_type === 'file' ? '[File]' : '[Var]';
|
|
225
|
+
const flags = [
|
|
226
|
+
v.protected ? 'Protected' : '',
|
|
227
|
+
v.masked ? 'Masked' : '',
|
|
228
|
+
]
|
|
229
|
+
.filter(Boolean)
|
|
230
|
+
.join(', ');
|
|
231
|
+
return ` ${type} ${v.key}${flags ? ` (${flags})` : ''}`;
|
|
232
|
+
});
|
|
233
|
+
return lines.join('\n');
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
exports.VariableConfigurator = VariableConfigurator;
|
|
237
|
+
/**
|
|
238
|
+
* 创建变量配置器实例
|
|
239
|
+
*/
|
|
240
|
+
function createVariableConfigurator() {
|
|
241
|
+
return new VariableConfigurator();
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/core/variables.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudDreamAI CI/CD Setup - 主入口
|
|
3
|
+
* 导出所有公共 API
|
|
4
|
+
*/
|
|
5
|
+
export { GitLabClient, createGitLabClient } from './core/gitlab-client';
|
|
6
|
+
export { VariableConfigurator, createVariableConfigurator } from './core/variables';
|
|
7
|
+
export { TemplateGenerator, createTemplateGenerator } from './utils/template';
|
|
8
|
+
export { PromptCollector, createPromptCollector } from './utils/prompts';
|
|
9
|
+
export * from './core/types';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,cAAc,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CloudDreamAI CI/CD Setup - 主入口
|
|
4
|
+
* 导出所有公共 API
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.createPromptCollector = exports.PromptCollector = exports.createTemplateGenerator = exports.TemplateGenerator = exports.createVariableConfigurator = exports.VariableConfigurator = exports.createGitLabClient = exports.GitLabClient = void 0;
|
|
22
|
+
var gitlab_client_1 = require("./core/gitlab-client");
|
|
23
|
+
Object.defineProperty(exports, "GitLabClient", { enumerable: true, get: function () { return gitlab_client_1.GitLabClient; } });
|
|
24
|
+
Object.defineProperty(exports, "createGitLabClient", { enumerable: true, get: function () { return gitlab_client_1.createGitLabClient; } });
|
|
25
|
+
var variables_1 = require("./core/variables");
|
|
26
|
+
Object.defineProperty(exports, "VariableConfigurator", { enumerable: true, get: function () { return variables_1.VariableConfigurator; } });
|
|
27
|
+
Object.defineProperty(exports, "createVariableConfigurator", { enumerable: true, get: function () { return variables_1.createVariableConfigurator; } });
|
|
28
|
+
var template_1 = require("./utils/template");
|
|
29
|
+
Object.defineProperty(exports, "TemplateGenerator", { enumerable: true, get: function () { return template_1.TemplateGenerator; } });
|
|
30
|
+
Object.defineProperty(exports, "createTemplateGenerator", { enumerable: true, get: function () { return template_1.createTemplateGenerator; } });
|
|
31
|
+
var prompts_1 = require("./utils/prompts");
|
|
32
|
+
Object.defineProperty(exports, "PromptCollector", { enumerable: true, get: function () { return prompts_1.PromptCollector; } });
|
|
33
|
+
Object.defineProperty(exports, "createPromptCollector", { enumerable: true, get: function () { return prompts_1.createPromptCollector; } });
|
|
34
|
+
__exportStar(require("./core/types"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,sDAAwE;AAA/D,6GAAA,YAAY,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AACzC,8CAAoF;AAA3E,iHAAA,oBAAoB,OAAA;AAAE,uHAAA,0BAA0B,OAAA;AACzD,6CAA8E;AAArE,6GAAA,iBAAiB,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AACnD,2CAAyE;AAAhE,0GAAA,eAAe,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAE/C,+CAA6B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudDreamAI CI/CD Setup - 交互式提示工具
|
|
3
|
+
* 使用 inquirer 实现用户交互
|
|
4
|
+
*/
|
|
5
|
+
import { CICDConfig } from '../core/types';
|
|
6
|
+
/**
|
|
7
|
+
* 交互式收集配置信息
|
|
8
|
+
*/
|
|
9
|
+
export declare class PromptCollector {
|
|
10
|
+
/**
|
|
11
|
+
* 收集完整的 CI/CD 配置
|
|
12
|
+
*/
|
|
13
|
+
collectConfig(): Promise<CICDConfig>;
|
|
14
|
+
/**
|
|
15
|
+
* 收集 GitLab 配置
|
|
16
|
+
*/
|
|
17
|
+
private collectGitLabConfig;
|
|
18
|
+
/**
|
|
19
|
+
* 收集项目配置
|
|
20
|
+
*/
|
|
21
|
+
private collectProjectConfig;
|
|
22
|
+
/**
|
|
23
|
+
* 收集服务器配置
|
|
24
|
+
*/
|
|
25
|
+
private collectServerConfig;
|
|
26
|
+
/**
|
|
27
|
+
* 收集 Docker Hub 配置
|
|
28
|
+
*/
|
|
29
|
+
private collectDockerHubConfig;
|
|
30
|
+
/**
|
|
31
|
+
* 收集 SSH 私钥
|
|
32
|
+
*/
|
|
33
|
+
private collectSSHKey;
|
|
34
|
+
/**
|
|
35
|
+
* 收集环境变量文件
|
|
36
|
+
*/
|
|
37
|
+
private collectEnvFiles;
|
|
38
|
+
/**
|
|
39
|
+
* 读取环境变量文件
|
|
40
|
+
*/
|
|
41
|
+
private readEnvFile;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 创建提示收集器实例
|
|
45
|
+
*/
|
|
46
|
+
export declare function createPromptCollector(): PromptCollector;
|
|
47
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAe,UAAU,EAAE,MAAM,eAAe,CAAC;AAGxD;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IA+B1C;;OAEG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,oBAAoB;IA8FlC;;OAEG;YACW,mBAAmB;IA6BjC;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,eAAe;IAuC7B;;OAEG;YACW,WAAW;CAsB1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
|