clouddreamai-cicd-setup 1.1.0 → 1.3.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/dist/cli.js +51 -1
- package/dist/cli.js.map +1 -1
- package/dist/utils/template.d.ts +4 -0
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +45 -27
- package/dist/utils/template.js.map +1 -1
- package/package.json +1 -1
- package/templates/gitlab-ci/nestjs-gitlab.yml +49 -12
- package/templates/gitlab-ci/nestjs.yml +48 -25
- package/templates/gitlab-ci/vue-gitlab.yml +48 -25
- package/templates/gitlab-ci/vue.yml +48 -25
package/dist/cli.js
CHANGED
|
@@ -66,9 +66,39 @@ program
|
|
|
66
66
|
.action(async (options) => {
|
|
67
67
|
try {
|
|
68
68
|
console.log(chalk_1.default.bold.cyan('\n🚀 CloudDreamAI CI/CD 自动配置工具\n'));
|
|
69
|
+
// 导入 inquirer
|
|
70
|
+
const inquirer = (await Promise.resolve().then(() => __importStar(require('inquirer')))).default;
|
|
69
71
|
// 1. 收集配置信息
|
|
70
72
|
const collector = (0, prompts_1.createPromptCollector)();
|
|
71
73
|
const config = await collector.collectConfig();
|
|
74
|
+
// 显示配置摘要
|
|
75
|
+
console.log(chalk_1.default.bold.cyan('\n📋 配置摘要'));
|
|
76
|
+
console.log(chalk_1.default.gray('='.repeat(50)));
|
|
77
|
+
console.log(chalk_1.default.white(`项目名称: ${config.project.name}`));
|
|
78
|
+
console.log(chalk_1.default.white(`项目类型: ${config.project.type}`));
|
|
79
|
+
console.log(chalk_1.default.white(`部署目录: ${config.project.deployDir}`));
|
|
80
|
+
console.log(chalk_1.default.white(`开发端口: ${config.project.devPort}`));
|
|
81
|
+
console.log(chalk_1.default.white(`生产端口: ${config.project.prodPort}`));
|
|
82
|
+
console.log(chalk_1.default.white(`服务器地址: ${config.server.testServerHost}`));
|
|
83
|
+
if (config.project.devDomain) {
|
|
84
|
+
console.log(chalk_1.default.white(`开发域名: ${config.project.devDomain}`));
|
|
85
|
+
}
|
|
86
|
+
if (config.project.prodDomain) {
|
|
87
|
+
console.log(chalk_1.default.white(`生产域名: ${config.project.prodDomain}`));
|
|
88
|
+
}
|
|
89
|
+
console.log(chalk_1.default.gray('='.repeat(50)));
|
|
90
|
+
const { continueSetup } = await inquirer.prompt([
|
|
91
|
+
{
|
|
92
|
+
type: 'confirm',
|
|
93
|
+
name: 'continueSetup',
|
|
94
|
+
message: '确认以上配置并继续?',
|
|
95
|
+
default: true,
|
|
96
|
+
},
|
|
97
|
+
]);
|
|
98
|
+
if (!continueSetup) {
|
|
99
|
+
console.log(chalk_1.default.yellow('\n⚠️ 已取消配置\n'));
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
72
102
|
// 2. 测试 GitLab 连接
|
|
73
103
|
const spinner = (0, ora_1.default)('正在测试 GitLab 连接...').start();
|
|
74
104
|
const gitlabClient = (0, gitlab_client_1.createGitLabClient)(config.gitlab);
|
|
@@ -110,7 +140,6 @@ program
|
|
|
110
140
|
return;
|
|
111
141
|
}
|
|
112
142
|
// 4. 搜索项目
|
|
113
|
-
const inquirer = (await Promise.resolve().then(() => __importStar(require('inquirer')))).default;
|
|
114
143
|
let selectedProject = null;
|
|
115
144
|
while (!selectedProject) {
|
|
116
145
|
const { searchKeyword } = await inquirer.prompt([
|
|
@@ -172,6 +201,27 @@ program
|
|
|
172
201
|
// 显示变量摘要
|
|
173
202
|
console.log(chalk_1.default.cyan('\nCI/CD 变量摘要:'));
|
|
174
203
|
console.log(chalk_1.default.gray(variableConfigurator.getVariableSummary(variables)));
|
|
204
|
+
// 检测变量冲突
|
|
205
|
+
spinner.start('检测已存在的变量...');
|
|
206
|
+
const existingVarsResult = await gitlabClient.listVariables(selectedProject);
|
|
207
|
+
if (existingVarsResult.success && existingVarsResult.data) {
|
|
208
|
+
const existingKeys = existingVarsResult.data.map(v => v.key);
|
|
209
|
+
const newKeys = variables.map(v => v.key);
|
|
210
|
+
const conflictKeys = newKeys.filter(k => existingKeys.includes(k));
|
|
211
|
+
if (conflictKeys.length > 0) {
|
|
212
|
+
spinner.stop();
|
|
213
|
+
console.log(chalk_1.default.yellow(`\n⚠️ 以下变量已存在,将被覆盖:`));
|
|
214
|
+
conflictKeys.forEach(key => {
|
|
215
|
+
console.log(chalk_1.default.yellow(` - ${key}`));
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
spinner.succeed(chalk_1.default.green('未发现变量冲突'));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
spinner.warn('无法获取已存在的变量列表');
|
|
224
|
+
}
|
|
175
225
|
// 确认上传
|
|
176
226
|
const { confirm } = await inquirer.prompt([
|
|
177
227
|
{
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/template.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5F;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAS;;IAO7B;;OAEG;IACH,gBAAgB,CACd,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,MAAM;IA8BT;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAgBnD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAehD;;OAEG;IACH,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,MAAM;IAqBT;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5F;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAS;;IAO7B;;OAEG;IACH,gBAAgB,CACd,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,MAAM;IA8BT;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAgBnD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAehD;;OAEG;IACH,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,MAAM;IAqBT;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA0FjE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACH,OAAO,CAAC,cAAc;CAUvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
|
package/dist/utils/template.js
CHANGED
|
@@ -117,12 +117,23 @@ class TemplateGenerator {
|
|
|
117
117
|
};
|
|
118
118
|
return this.replacePlaceholders(template, variables);
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* 备份文件(如果存在)
|
|
122
|
+
*/
|
|
123
|
+
backupFile(filePath) {
|
|
124
|
+
if (fs.existsSync(filePath)) {
|
|
125
|
+
const backupPath = `${filePath}.backup`;
|
|
126
|
+
fs.copyFileSync(filePath, backupPath);
|
|
127
|
+
console.log(` ✓ 已备份: ${path.basename(filePath)} -> ${path.basename(backupPath)}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
120
130
|
/**
|
|
121
131
|
* 生成所有文件到指定目录
|
|
122
132
|
*/
|
|
123
133
|
async generateAll(outputDir, projectType, config, gitlabHost, registryType) {
|
|
124
134
|
try {
|
|
125
135
|
const files = [];
|
|
136
|
+
const filesToOverwrite = [];
|
|
126
137
|
// 确保输出目录存在
|
|
127
138
|
if (!fs.existsSync(outputDir)) {
|
|
128
139
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
@@ -132,50 +143,57 @@ class TemplateGenerator {
|
|
|
132
143
|
if (!fs.existsSync(ciDir)) {
|
|
133
144
|
fs.mkdirSync(ciDir, { recursive: true });
|
|
134
145
|
}
|
|
135
|
-
//
|
|
136
|
-
const gitlabCIContent = this.generateGitLabCI(projectType, config, gitlabHost, registryType);
|
|
146
|
+
// 检测将要覆盖的文件
|
|
137
147
|
const gitlabCIPath = path.join(outputDir, '.gitlab-ci.yml');
|
|
138
|
-
fs.writeFileSync(gitlabCIPath, gitlabCIContent, 'utf-8');
|
|
139
|
-
files.push(gitlabCIPath);
|
|
140
|
-
// 生成 docker-compose.yml
|
|
141
148
|
const dockerComposePath = path.join(outputDir, 'docker-compose.yml');
|
|
142
|
-
|
|
143
|
-
|
|
149
|
+
const deployScriptPath = path.join(ciDir, 'deploy.sh');
|
|
150
|
+
const envScriptPath = path.join(ciDir, 'generate-env.sh');
|
|
151
|
+
if (fs.existsSync(gitlabCIPath))
|
|
152
|
+
filesToOverwrite.push('.gitlab-ci.yml');
|
|
153
|
+
if (fs.existsSync(dockerComposePath))
|
|
154
|
+
filesToOverwrite.push('docker-compose.yml');
|
|
155
|
+
if (fs.existsSync(deployScriptPath))
|
|
156
|
+
filesToOverwrite.push('ci/deploy.sh');
|
|
157
|
+
if (fs.existsSync(envScriptPath))
|
|
158
|
+
filesToOverwrite.push('ci/generate-env.sh');
|
|
159
|
+
// 如果有文件将被覆盖,询问用户
|
|
160
|
+
if (filesToOverwrite.length > 0) {
|
|
161
|
+
console.log('\n⚠️ 以下文件将被覆盖:');
|
|
162
|
+
filesToOverwrite.forEach(f => console.log(` - ${f}`));
|
|
144
163
|
const inquirer = (await Promise.resolve().then(() => __importStar(require('inquirer')))).default;
|
|
145
|
-
const {
|
|
164
|
+
const { confirm } = await inquirer.prompt([
|
|
146
165
|
{
|
|
147
166
|
type: 'confirm',
|
|
148
|
-
name: '
|
|
149
|
-
message: '
|
|
150
|
-
default:
|
|
167
|
+
name: 'confirm',
|
|
168
|
+
message: '是否继续?(旧文件将自动备份为 .backup)',
|
|
169
|
+
default: true,
|
|
151
170
|
},
|
|
152
171
|
]);
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
fs.writeFileSync(dockerComposePath, dockerComposeContent, 'utf-8');
|
|
156
|
-
files.push(dockerComposePath);
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
console.log('⚠️ 跳过生成 docker-compose.yml,保留现有文件');
|
|
172
|
+
if (!confirm) {
|
|
173
|
+
return { success: false, files: [], error: '用户取消操作' };
|
|
160
174
|
}
|
|
175
|
+
console.log('\n📦 备份旧文件...');
|
|
161
176
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
// 生成 .gitlab-ci.yml
|
|
178
|
+
const gitlabCIContent = this.generateGitLabCI(projectType, config, gitlabHost, registryType);
|
|
179
|
+
this.backupFile(gitlabCIPath);
|
|
180
|
+
fs.writeFileSync(gitlabCIPath, gitlabCIContent, 'utf-8');
|
|
181
|
+
files.push(gitlabCIPath);
|
|
182
|
+
// 生成 docker-compose.yml
|
|
183
|
+
this.backupFile(dockerComposePath);
|
|
184
|
+
const dockerComposeContent = this.generateDockerCompose(projectType, config);
|
|
185
|
+
fs.writeFileSync(dockerComposePath, dockerComposeContent, 'utf-8');
|
|
186
|
+
files.push(dockerComposePath);
|
|
167
187
|
// 生成 ci/deploy.sh
|
|
188
|
+
this.backupFile(deployScriptPath);
|
|
168
189
|
const deployScriptContent = this.generateDeployScript(config);
|
|
169
|
-
const deployScriptPath = path.join(ciDir, 'deploy.sh');
|
|
170
190
|
fs.writeFileSync(deployScriptPath, deployScriptContent, 'utf-8');
|
|
171
|
-
// 添加执行权限
|
|
172
191
|
fs.chmodSync(deployScriptPath, '755');
|
|
173
192
|
files.push(deployScriptPath);
|
|
174
193
|
// 生成 ci/generate-env.sh
|
|
194
|
+
this.backupFile(envScriptPath);
|
|
175
195
|
const envScriptContent = this.generateEnvScript(config);
|
|
176
|
-
const envScriptPath = path.join(ciDir, 'generate-env.sh');
|
|
177
196
|
fs.writeFileSync(envScriptPath, envScriptContent, 'utf-8');
|
|
178
|
-
// 添加执行权限
|
|
179
197
|
fs.chmodSync(envScriptPath, '755');
|
|
180
198
|
files.push(envScriptPath);
|
|
181
199
|
return { success: true, files };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8SH,0DAEC;AA9SD,uCAAyB;AACzB,2CAA6B;AAG7B;;GAEG;AACH,MAAa,iBAAiB;IAG5B;QACE,sDAAsD;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,WAAwB,EACxB,MAAqB,EACrB,UAAkB,EAClB,YAA0B;QAE1B,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,YAAY,EACjB,WAAW,EACX,GAAG,YAAY,MAAM,CACtB,CAAC;QAEF,OAAO;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,SAAS;QACT,MAAM,SAAS,GAA2B;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,YAAY,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACtC,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,oBAAoB,MAAM,CAAC,OAAO,EAAE;YAC9D,QAAQ,EAAE,MAAM,CAAC,OAAO,IAAI,oBAAoB,MAAM,CAAC,QAAQ,EAAE;YACjE,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YACnD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YAC9C,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,QAAQ;QACR,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAqB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,SAAS,GAA2B;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACrC,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YAClC,WAAW,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;SACrC,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAqB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,YAAY,EACjB,SAAS,EACT,iBAAiB,CAClB,CAAC;QACF,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,SAAS,GAA2B;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,WAAW;SAClD,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,WAAwB,EACxB,MAAqB;QAErB,aAAa;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,GAAG,YAAY,MAAM,CACtB,CAAC;QAEF,OAAO;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,SAAS;QACT,MAAM,SAAS,GAA2B;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,YAAY,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI;SAChD,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,QAAgB;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,GAAG,QAAQ,SAAS,CAAC;YACxC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,WAAwB,EACxB,MAAqB,EACrB,UAAkB,EAClB,YAA0B;QAE1B,IAAI,CAAC;YACH,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,WAAW;YACX,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,YAAY;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,YAAY;YACZ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAE1D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzE,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAAE,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBAAE,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAE9E,iBAAiB;YACjB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExD,MAAM,QAAQ,GAAG,CAAC,wDAAa,UAAU,GAAC,CAAC,CAAC,OAAO,CAAC;gBACpD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACxC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,0BAA0B;wBACnC,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACxD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;YAED,oBAAoB;YACpB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAC3C,WAAW,EACX,MAAM,EACN,UAAU,EACV,YAAY,CACb,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9B,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzB,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC7E,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9B,kBAAkB;YAClB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC9D,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACjE,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE7B,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC3D,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,QAAgB,EAChB,SAAiC;QAEjC,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAAwB,EAAE,YAA0B;QAChF,SAAS;QACT,MAAM,mBAAmB,GAAgC;YACvD,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK,EAAE,sBAAsB;YACpC,IAAI,EAAE,QAAQ,EAAE,4BAA4B;SAC7C,CAAC;QAEF,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;QAElE,8BAA8B;QAC9B,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,YAAY,SAAS,CAAC;QAClC,CAAC;QAED,sCAAsC;QACtC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,WAAwB;QACvD,MAAM,eAAe,GAAgC;YACnD,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK,EAAE,sBAAsB;YACpC,IAAI,EAAE,QAAQ,EAAE,4BAA4B;SAC7C,CAAC;QAEF,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,WAAwB;QAC7C,MAAM,QAAQ,GAAgC;YAC5C,MAAM,EAAE,oBAAoB;YAC5B,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,cAAc;SACrB,CAAC;QAEF,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC;IACjD,CAAC;CACF;AAhSD,8CAgSC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -46,15 +46,23 @@ lint:
|
|
|
46
46
|
- |
|
|
47
47
|
# 智能检测并运行 lint 命令
|
|
48
48
|
echo "检测可用的 lint 命令..."
|
|
49
|
+
LINT_FAILED=0
|
|
50
|
+
|
|
49
51
|
if npm run | grep -q "lint:check"; then
|
|
50
52
|
echo "✓ 运行 npm run lint:check"
|
|
51
|
-
npm run lint:check
|
|
53
|
+
if ! npm run lint:check; then
|
|
54
|
+
LINT_FAILED=1
|
|
55
|
+
fi
|
|
52
56
|
elif npm run | grep -q "lint"; then
|
|
53
57
|
echo "✓ 运行 npm run lint"
|
|
54
|
-
npm run lint
|
|
58
|
+
if ! npm run lint; then
|
|
59
|
+
LINT_FAILED=1
|
|
60
|
+
fi
|
|
55
61
|
elif npm run | grep -q "type-check"; then
|
|
56
62
|
echo "✓ 运行 npm run type-check"
|
|
57
|
-
npm run type-check
|
|
63
|
+
if ! npm run type-check; then
|
|
64
|
+
LINT_FAILED=1
|
|
65
|
+
fi
|
|
58
66
|
else
|
|
59
67
|
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
60
68
|
echo "建议在 package.json 中添加以下命令之一:"
|
|
@@ -62,6 +70,40 @@ lint:
|
|
|
62
70
|
echo " - lint"
|
|
63
71
|
echo " - type-check"
|
|
64
72
|
fi
|
|
73
|
+
|
|
74
|
+
# 如果 lint 失败,输出友好的中文提示
|
|
75
|
+
if [ $LINT_FAILED -eq 1 ]; then
|
|
76
|
+
echo ""
|
|
77
|
+
echo "======================================================================"
|
|
78
|
+
echo "❌ 代码质量检查未通过"
|
|
79
|
+
echo "======================================================================"
|
|
80
|
+
echo ""
|
|
81
|
+
echo "📋 发现了一些代码质量问题,需要修复后才能继续部署。"
|
|
82
|
+
echo ""
|
|
83
|
+
echo "🔧 快速修复方法:"
|
|
84
|
+
echo ""
|
|
85
|
+
echo " 1. 在本地运行自动修复:"
|
|
86
|
+
echo " npm run lint"
|
|
87
|
+
echo ""
|
|
88
|
+
echo " 2. 查看具体问题:"
|
|
89
|
+
echo " npm run lint:check"
|
|
90
|
+
echo ""
|
|
91
|
+
echo " 3. 修复后提交:"
|
|
92
|
+
echo " git add ."
|
|
93
|
+
echo " git commit -m \"fix: 修复代码质量问题\""
|
|
94
|
+
echo " git push"
|
|
95
|
+
echo ""
|
|
96
|
+
echo "💡 常见问题类型:"
|
|
97
|
+
echo " - TypeScript 类型安全问题(使用了 any 类型)"
|
|
98
|
+
echo " - 未使用的变量或导入"
|
|
99
|
+
echo " - async 函数缺少 await"
|
|
100
|
+
echo " - Promise 未正确处理"
|
|
101
|
+
echo ""
|
|
102
|
+
echo "📖 详细错误信息请查看上方输出"
|
|
103
|
+
echo "======================================================================"
|
|
104
|
+
echo ""
|
|
105
|
+
exit 1
|
|
106
|
+
fi
|
|
65
107
|
only:
|
|
66
108
|
- merge_requests
|
|
67
109
|
- main
|
|
@@ -110,8 +152,6 @@ deploy_dev:
|
|
|
110
152
|
# 使用密码认证,跳过 SSH 主机密钥检查
|
|
111
153
|
- echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
112
154
|
- chmod 600 ~/.ssh/config
|
|
113
|
-
- echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
114
|
-
- chmod 600 ~/.ssh/config
|
|
115
155
|
script:
|
|
116
156
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
117
157
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
@@ -120,7 +160,7 @@ deploy_dev:
|
|
|
120
160
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
121
161
|
environment:
|
|
122
162
|
name: development
|
|
123
|
-
url: {{DEV_URL}}
|
|
163
|
+
url: "{{DEV_URL}}"
|
|
124
164
|
only:
|
|
125
165
|
- develop
|
|
126
166
|
|
|
@@ -143,8 +183,6 @@ deploy_prod:
|
|
|
143
183
|
# 使用密码认证,跳过 SSH 主机密钥检查
|
|
144
184
|
- echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
145
185
|
- chmod 600 ~/.ssh/config
|
|
146
|
-
- echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
147
|
-
- chmod 600 ~/.ssh/config
|
|
148
186
|
script:
|
|
149
187
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "mkdir -p $DEPLOY_DIR"
|
|
150
188
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "which rsync || apk add --no-cache rsync"
|
|
@@ -153,7 +191,7 @@ deploy_prod:
|
|
|
153
191
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
154
192
|
environment:
|
|
155
193
|
name: production
|
|
156
|
-
url: {{PROD_URL}}
|
|
194
|
+
url: "{{PROD_URL}}"
|
|
157
195
|
only:
|
|
158
196
|
- main
|
|
159
197
|
when: manual
|
|
@@ -169,20 +207,19 @@ rollback:
|
|
|
169
207
|
APP_PORT: "{{PROD_PORT}}"
|
|
170
208
|
cache: {}
|
|
171
209
|
before_script:
|
|
172
|
-
- apk add --no-cache
|
|
210
|
+
- apk add --no-cache sshpass bash openssl
|
|
173
211
|
- mkdir -p ~/.ssh
|
|
174
212
|
- chmod 700 ~/.ssh
|
|
175
213
|
# 使用密码认证,跳过 SSH 主机密钥检查
|
|
176
214
|
- echo "StrictHostKeyChecking no" >> ~/.ssh/config
|
|
177
215
|
- chmod 600 ~/.ssh/config
|
|
178
|
-
- chmod 644 ~/.ssh/known_hosts
|
|
179
216
|
script:
|
|
180
217
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose down"
|
|
181
218
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose pull"
|
|
182
219
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose up -d"
|
|
183
220
|
environment:
|
|
184
221
|
name: production
|
|
185
|
-
url: {{PROD_URL}}
|
|
222
|
+
url: "{{PROD_URL}}"
|
|
186
223
|
when: manual
|
|
187
224
|
only:
|
|
188
225
|
- main
|
|
@@ -35,25 +35,6 @@ lint:
|
|
|
35
35
|
- .npm/
|
|
36
36
|
policy: pull-push
|
|
37
37
|
before_script:
|
|
38
|
-
- |
|
|
39
|
-
# 智能检测并运行 lint 命令
|
|
40
|
-
echo "检测可用的 lint 命令..."
|
|
41
|
-
if npm run | grep -q "lint:check"; then
|
|
42
|
-
echo "✓ 运行 npm run lint:check"
|
|
43
|
-
npm run lint:check
|
|
44
|
-
elif npm run | grep -q "lint"; then
|
|
45
|
-
echo "✓ 运行 npm run lint"
|
|
46
|
-
npm run lint
|
|
47
|
-
elif npm run | grep -q "type-check"; then
|
|
48
|
-
echo "✓ 运行 npm run type-check"
|
|
49
|
-
npm run type-check
|
|
50
|
-
else
|
|
51
|
-
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
52
|
-
echo "建议在 package.json 中添加以下命令之一:"
|
|
53
|
-
echo " - lint:check (推荐)"
|
|
54
|
-
echo " - lint"
|
|
55
|
-
echo " - type-check"
|
|
56
|
-
fi
|
|
57
38
|
- apk add --no-cache git curl jq
|
|
58
39
|
- git --version
|
|
59
40
|
- echo "Setting up Git authentication..."
|
|
@@ -65,15 +46,23 @@ lint:
|
|
|
65
46
|
- |
|
|
66
47
|
# 智能检测并运行 lint 命令
|
|
67
48
|
echo "检测可用的 lint 命令..."
|
|
49
|
+
LINT_FAILED=0
|
|
50
|
+
|
|
68
51
|
if npm run | grep -q "lint:check"; then
|
|
69
52
|
echo "✓ 运行 npm run lint:check"
|
|
70
|
-
npm run lint:check
|
|
53
|
+
if ! npm run lint:check; then
|
|
54
|
+
LINT_FAILED=1
|
|
55
|
+
fi
|
|
71
56
|
elif npm run | grep -q "lint"; then
|
|
72
57
|
echo "✓ 运行 npm run lint"
|
|
73
|
-
npm run lint
|
|
58
|
+
if ! npm run lint; then
|
|
59
|
+
LINT_FAILED=1
|
|
60
|
+
fi
|
|
74
61
|
elif npm run | grep -q "type-check"; then
|
|
75
62
|
echo "✓ 运行 npm run type-check"
|
|
76
|
-
npm run type-check
|
|
63
|
+
if ! npm run type-check; then
|
|
64
|
+
LINT_FAILED=1
|
|
65
|
+
fi
|
|
77
66
|
else
|
|
78
67
|
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
79
68
|
echo "建议在 package.json 中添加以下命令之一:"
|
|
@@ -81,6 +70,40 @@ lint:
|
|
|
81
70
|
echo " - lint"
|
|
82
71
|
echo " - type-check"
|
|
83
72
|
fi
|
|
73
|
+
|
|
74
|
+
# 如果 lint 失败,输出友好的中文提示
|
|
75
|
+
if [ $LINT_FAILED -eq 1 ]; then
|
|
76
|
+
echo ""
|
|
77
|
+
echo "======================================================================"
|
|
78
|
+
echo "❌ 代码质量检查未通过"
|
|
79
|
+
echo "======================================================================"
|
|
80
|
+
echo ""
|
|
81
|
+
echo "📋 发现了一些代码质量问题,需要修复后才能继续部署。"
|
|
82
|
+
echo ""
|
|
83
|
+
echo "🔧 快速修复方法:"
|
|
84
|
+
echo ""
|
|
85
|
+
echo " 1. 在本地运行自动修复:"
|
|
86
|
+
echo " npm run lint"
|
|
87
|
+
echo ""
|
|
88
|
+
echo " 2. 查看具体问题:"
|
|
89
|
+
echo " npm run lint:check"
|
|
90
|
+
echo ""
|
|
91
|
+
echo " 3. 修复后提交:"
|
|
92
|
+
echo " git add ."
|
|
93
|
+
echo " git commit -m \"fix: 修复代码质量问题\""
|
|
94
|
+
echo " git push"
|
|
95
|
+
echo ""
|
|
96
|
+
echo "💡 常见问题类型:"
|
|
97
|
+
echo " - TypeScript 类型安全问题(使用了 any 类型)"
|
|
98
|
+
echo " - 未使用的变量或导入"
|
|
99
|
+
echo " - async 函数缺少 await"
|
|
100
|
+
echo " - Promise 未正确处理"
|
|
101
|
+
echo ""
|
|
102
|
+
echo "📖 详细错误信息请查看上方输出"
|
|
103
|
+
echo "======================================================================"
|
|
104
|
+
echo ""
|
|
105
|
+
exit 1
|
|
106
|
+
fi
|
|
84
107
|
only:
|
|
85
108
|
- merge_requests
|
|
86
109
|
- main
|
|
@@ -210,7 +233,7 @@ deploy_dev:
|
|
|
210
233
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export DOCKER_HUB_USERNAME='$DOCKER_HUB_USERNAME' && export DOCKER_HUB_PASSWORD='$DOCKER_HUB_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE $REGISTRY_TYPE"
|
|
211
234
|
environment:
|
|
212
235
|
name: development
|
|
213
|
-
url: {{DEV_URL}}
|
|
236
|
+
url: "{{DEV_URL}}"
|
|
214
237
|
only:
|
|
215
238
|
- develop
|
|
216
239
|
|
|
@@ -277,7 +300,7 @@ deploy_prod:
|
|
|
277
300
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export DOCKER_HUB_USERNAME='$DOCKER_HUB_USERNAME' && export DOCKER_HUB_PASSWORD='$DOCKER_HUB_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE $REGISTRY_TYPE"
|
|
278
301
|
environment:
|
|
279
302
|
name: production
|
|
280
|
-
url: {{PROD_URL}}
|
|
303
|
+
url: "{{PROD_URL}}"
|
|
281
304
|
only:
|
|
282
305
|
- main
|
|
283
306
|
when: manual
|
|
@@ -341,7 +364,7 @@ rollback:
|
|
|
341
364
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose up -d"
|
|
342
365
|
environment:
|
|
343
366
|
name: production
|
|
344
|
-
url: {{PROD_URL}}
|
|
367
|
+
url: "{{PROD_URL}}"
|
|
345
368
|
when: manual
|
|
346
369
|
only:
|
|
347
370
|
- main
|
|
@@ -35,25 +35,6 @@ lint:
|
|
|
35
35
|
- .npm/
|
|
36
36
|
policy: pull-push
|
|
37
37
|
before_script:
|
|
38
|
-
- |
|
|
39
|
-
# 智能检测并运行 lint 命令
|
|
40
|
-
echo "检测可用的 lint 命令..."
|
|
41
|
-
if npm run | grep -q "lint:check"; then
|
|
42
|
-
echo "✓ 运行 npm run lint:check"
|
|
43
|
-
npm run lint:check
|
|
44
|
-
elif npm run | grep -q "lint"; then
|
|
45
|
-
echo "✓ 运行 npm run lint"
|
|
46
|
-
npm run lint
|
|
47
|
-
elif npm run | grep -q "type-check"; then
|
|
48
|
-
echo "✓ 运行 npm run type-check"
|
|
49
|
-
npm run type-check
|
|
50
|
-
else
|
|
51
|
-
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
52
|
-
echo "建议在 package.json 中添加以下命令之一:"
|
|
53
|
-
echo " - lint:check (推荐)"
|
|
54
|
-
echo " - lint"
|
|
55
|
-
echo " - type-check"
|
|
56
|
-
fi
|
|
57
38
|
- apk add --no-cache git curl jq
|
|
58
39
|
- git --version
|
|
59
40
|
- echo "Setting up Git authentication..."
|
|
@@ -65,15 +46,23 @@ lint:
|
|
|
65
46
|
- |
|
|
66
47
|
# 智能检测并运行 lint 命令
|
|
67
48
|
echo "检测可用的 lint 命令..."
|
|
49
|
+
LINT_FAILED=0
|
|
50
|
+
|
|
68
51
|
if npm run | grep -q "lint:check"; then
|
|
69
52
|
echo "✓ 运行 npm run lint:check"
|
|
70
|
-
npm run lint:check
|
|
53
|
+
if ! npm run lint:check; then
|
|
54
|
+
LINT_FAILED=1
|
|
55
|
+
fi
|
|
71
56
|
elif npm run | grep -q "lint"; then
|
|
72
57
|
echo "✓ 运行 npm run lint"
|
|
73
|
-
npm run lint
|
|
58
|
+
if ! npm run lint; then
|
|
59
|
+
LINT_FAILED=1
|
|
60
|
+
fi
|
|
74
61
|
elif npm run | grep -q "type-check"; then
|
|
75
62
|
echo "✓ 运行 npm run type-check"
|
|
76
|
-
npm run type-check
|
|
63
|
+
if ! npm run type-check; then
|
|
64
|
+
LINT_FAILED=1
|
|
65
|
+
fi
|
|
77
66
|
else
|
|
78
67
|
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
79
68
|
echo "建议在 package.json 中添加以下命令之一:"
|
|
@@ -81,6 +70,40 @@ lint:
|
|
|
81
70
|
echo " - lint"
|
|
82
71
|
echo " - type-check"
|
|
83
72
|
fi
|
|
73
|
+
|
|
74
|
+
# 如果 lint 失败,输出友好的中文提示
|
|
75
|
+
if [ $LINT_FAILED -eq 1 ]; then
|
|
76
|
+
echo ""
|
|
77
|
+
echo "======================================================================"
|
|
78
|
+
echo "❌ 代码质量检查未通过"
|
|
79
|
+
echo "======================================================================"
|
|
80
|
+
echo ""
|
|
81
|
+
echo "📋 发现了一些代码质量问题,需要修复后才能继续部署。"
|
|
82
|
+
echo ""
|
|
83
|
+
echo "🔧 快速修复方法:"
|
|
84
|
+
echo ""
|
|
85
|
+
echo " 1. 在本地运行自动修复:"
|
|
86
|
+
echo " npm run lint"
|
|
87
|
+
echo ""
|
|
88
|
+
echo " 2. 查看具体问题:"
|
|
89
|
+
echo " npm run lint:check"
|
|
90
|
+
echo ""
|
|
91
|
+
echo " 3. 修复后提交:"
|
|
92
|
+
echo " git add ."
|
|
93
|
+
echo " git commit -m \"fix: 修复代码质量问题\""
|
|
94
|
+
echo " git push"
|
|
95
|
+
echo ""
|
|
96
|
+
echo "💡 常见问题类型:"
|
|
97
|
+
echo " - TypeScript 类型安全问题(使用了 any 类型)"
|
|
98
|
+
echo " - 未使用的变量或导入"
|
|
99
|
+
echo " - async 函数缺少 await"
|
|
100
|
+
echo " - Promise 未正确处理"
|
|
101
|
+
echo ""
|
|
102
|
+
echo "📖 详细错误信息请查看上方输出"
|
|
103
|
+
echo "======================================================================"
|
|
104
|
+
echo ""
|
|
105
|
+
exit 1
|
|
106
|
+
fi
|
|
84
107
|
only:
|
|
85
108
|
- merge_requests
|
|
86
109
|
- main
|
|
@@ -214,7 +237,7 @@ deploy_dev:
|
|
|
214
237
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
215
238
|
environment:
|
|
216
239
|
name: development
|
|
217
|
-
url: {{DEV_URL}}
|
|
240
|
+
url: "{{DEV_URL}}"
|
|
218
241
|
only:
|
|
219
242
|
- develop
|
|
220
243
|
|
|
@@ -284,7 +307,7 @@ deploy_prod:
|
|
|
284
307
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export REGISTRY_URL='$CI_REGISTRY' && export REGISTRY_USERNAME='$CI_REGISTRY_USER' && export REGISTRY_PASSWORD='$CI_REGISTRY_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE gitlab"
|
|
285
308
|
environment:
|
|
286
309
|
name: production
|
|
287
|
-
url: {{PROD_URL}}
|
|
310
|
+
url: "{{PROD_URL}}"
|
|
288
311
|
only:
|
|
289
312
|
- main
|
|
290
313
|
when: manual
|
|
@@ -351,7 +374,7 @@ rollback:
|
|
|
351
374
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose up -d"
|
|
352
375
|
environment:
|
|
353
376
|
name: production
|
|
354
|
-
url: {{PROD_URL}}
|
|
377
|
+
url: "{{PROD_URL}}"
|
|
355
378
|
when: manual
|
|
356
379
|
only:
|
|
357
380
|
- main
|
|
@@ -35,25 +35,6 @@ lint:
|
|
|
35
35
|
- .npm/
|
|
36
36
|
policy: pull-push
|
|
37
37
|
before_script:
|
|
38
|
-
- |
|
|
39
|
-
# 智能检测并运行 lint 命令
|
|
40
|
-
echo "检测可用的 lint 命令..."
|
|
41
|
-
if npm run | grep -q "lint:check"; then
|
|
42
|
-
echo "✓ 运行 npm run lint:check"
|
|
43
|
-
npm run lint:check
|
|
44
|
-
elif npm run | grep -q "lint"; then
|
|
45
|
-
echo "✓ 运行 npm run lint"
|
|
46
|
-
npm run lint
|
|
47
|
-
elif npm run | grep -q "type-check"; then
|
|
48
|
-
echo "✓ 运行 npm run type-check"
|
|
49
|
-
npm run type-check
|
|
50
|
-
else
|
|
51
|
-
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
52
|
-
echo "建议在 package.json 中添加以下命令之一:"
|
|
53
|
-
echo " - lint:check (推荐)"
|
|
54
|
-
echo " - lint"
|
|
55
|
-
echo " - type-check"
|
|
56
|
-
fi
|
|
57
38
|
- apk add --no-cache git curl jq
|
|
58
39
|
- git --version
|
|
59
40
|
- echo "Setting up Git authentication..."
|
|
@@ -65,15 +46,23 @@ lint:
|
|
|
65
46
|
- |
|
|
66
47
|
# 智能检测并运行 lint 命令
|
|
67
48
|
echo "检测可用的 lint 命令..."
|
|
49
|
+
LINT_FAILED=0
|
|
50
|
+
|
|
68
51
|
if npm run | grep -q "lint:check"; then
|
|
69
52
|
echo "✓ 运行 npm run lint:check"
|
|
70
|
-
npm run lint:check
|
|
53
|
+
if ! npm run lint:check; then
|
|
54
|
+
LINT_FAILED=1
|
|
55
|
+
fi
|
|
71
56
|
elif npm run | grep -q "lint"; then
|
|
72
57
|
echo "✓ 运行 npm run lint"
|
|
73
|
-
npm run lint
|
|
58
|
+
if ! npm run lint; then
|
|
59
|
+
LINT_FAILED=1
|
|
60
|
+
fi
|
|
74
61
|
elif npm run | grep -q "type-check"; then
|
|
75
62
|
echo "✓ 运行 npm run type-check"
|
|
76
|
-
npm run type-check
|
|
63
|
+
if ! npm run type-check; then
|
|
64
|
+
LINT_FAILED=1
|
|
65
|
+
fi
|
|
77
66
|
else
|
|
78
67
|
echo "⚠️ 未找到 lint 相关命令,跳过代码检查"
|
|
79
68
|
echo "建议在 package.json 中添加以下命令之一:"
|
|
@@ -81,6 +70,40 @@ lint:
|
|
|
81
70
|
echo " - lint"
|
|
82
71
|
echo " - type-check"
|
|
83
72
|
fi
|
|
73
|
+
|
|
74
|
+
# 如果 lint 失败,输出友好的中文提示
|
|
75
|
+
if [ $LINT_FAILED -eq 1 ]; then
|
|
76
|
+
echo ""
|
|
77
|
+
echo "======================================================================"
|
|
78
|
+
echo "❌ 代码质量检查未通过"
|
|
79
|
+
echo "======================================================================"
|
|
80
|
+
echo ""
|
|
81
|
+
echo "📋 发现了一些代码质量问题,需要修复后才能继续部署。"
|
|
82
|
+
echo ""
|
|
83
|
+
echo "🔧 快速修复方法:"
|
|
84
|
+
echo ""
|
|
85
|
+
echo " 1. 在本地运行自动修复:"
|
|
86
|
+
echo " npm run lint"
|
|
87
|
+
echo ""
|
|
88
|
+
echo " 2. 查看具体问题:"
|
|
89
|
+
echo " npm run lint:check"
|
|
90
|
+
echo ""
|
|
91
|
+
echo " 3. 修复后提交:"
|
|
92
|
+
echo " git add ."
|
|
93
|
+
echo " git commit -m \"fix: 修复代码质量问题\""
|
|
94
|
+
echo " git push"
|
|
95
|
+
echo ""
|
|
96
|
+
echo "💡 常见问题类型:"
|
|
97
|
+
echo " - TypeScript 类型安全问题(使用了 any 类型)"
|
|
98
|
+
echo " - 未使用的变量或导入"
|
|
99
|
+
echo " - async 函数缺少 await"
|
|
100
|
+
echo " - Promise 未正确处理"
|
|
101
|
+
echo ""
|
|
102
|
+
echo "📖 详细错误信息请查看上方输出"
|
|
103
|
+
echo "======================================================================"
|
|
104
|
+
echo ""
|
|
105
|
+
exit 1
|
|
106
|
+
fi
|
|
84
107
|
only:
|
|
85
108
|
- merge_requests
|
|
86
109
|
- main
|
|
@@ -210,7 +233,7 @@ deploy_dev:
|
|
|
210
233
|
- sshpass -p "$SSH_PASSWORD" ssh root@$TEST_SERVER_HOST "export DOCKER_HUB_USERNAME='$DOCKER_HUB_USERNAME' && export DOCKER_HUB_PASSWORD='$DOCKER_HUB_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE $REGISTRY_TYPE"
|
|
211
234
|
environment:
|
|
212
235
|
name: development
|
|
213
|
-
url: {{DEV_URL}}
|
|
236
|
+
url: "{{DEV_URL}}"
|
|
214
237
|
only:
|
|
215
238
|
- develop
|
|
216
239
|
|
|
@@ -277,7 +300,7 @@ deploy_prod:
|
|
|
277
300
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "export DOCKER_HUB_USERNAME='$DOCKER_HUB_USERNAME' && export DOCKER_HUB_PASSWORD='$DOCKER_HUB_PASSWORD' && export APP_PORT='$APP_PORT' && cd $DEPLOY_DIR && chmod +x ci/deploy.sh && bash ci/deploy.sh $ENV_TYPE $REGISTRY_TYPE"
|
|
278
301
|
environment:
|
|
279
302
|
name: production
|
|
280
|
-
url: {{PROD_URL}}
|
|
303
|
+
url: "{{PROD_URL}}"
|
|
281
304
|
only:
|
|
282
305
|
- main
|
|
283
306
|
when: manual
|
|
@@ -341,7 +364,7 @@ rollback:
|
|
|
341
364
|
- sshpass -p "$SSH_PASSWORD" ssh root@$PROD_SERVER_HOST "cd $DEPLOY_DIR && export APP_PORT=$APP_PORT && docker-compose up -d"
|
|
342
365
|
environment:
|
|
343
366
|
name: production
|
|
344
|
-
url: {{PROD_URL}}
|
|
367
|
+
url: "{{PROD_URL}}"
|
|
345
368
|
when: manual
|
|
346
369
|
only:
|
|
347
370
|
- main
|