clouddreamai-cicd-setup 1.5.11 → 1.5.12
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/utils/template.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ export declare class TemplateGenerator {
|
|
|
21
21
|
* 生成 generate-env.sh 脚本内容
|
|
22
22
|
*/
|
|
23
23
|
generateEnvScript(config: ProjectConfig): string;
|
|
24
|
+
/**
|
|
25
|
+
* 生成 cleanup.sh 清理脚本内容
|
|
26
|
+
*/
|
|
27
|
+
generateCleanupScript(config: ProjectConfig): string;
|
|
24
28
|
/**
|
|
25
29
|
* 生成 docker-compose.yml 文件内容
|
|
26
30
|
*/
|
|
@@ -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,EAAE,MAAM,eAAe,CAAC;AAE3D;;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,GACjB,MAAM;IA2BT;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAoBnD;;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,kBAAkB,CAChB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,MAAM;IAoBT;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAK9B;;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,GACjB,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,EAAE,MAAM,eAAe,CAAC;AAE3D;;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,GACjB,MAAM;IA2BT;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAoBnD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAehD;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IAapD;;OAEG;IACH,qBAAqB,CACnB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,MAAM;IAqBT;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,MAAM;IAoBT;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAK9B;;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,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkHjE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,OAAO,CAAC,cAAc;CAUvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
|
package/dist/utils/template.js
CHANGED
|
@@ -102,6 +102,19 @@ class TemplateGenerator {
|
|
|
102
102
|
};
|
|
103
103
|
return this.replacePlaceholders(template, variables);
|
|
104
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* 生成 cleanup.sh 清理脚本内容
|
|
107
|
+
*/
|
|
108
|
+
generateCleanupScript(config) {
|
|
109
|
+
const templatePath = path.join(this.templatesDir, 'scripts', 'cleanup.sh');
|
|
110
|
+
const template = fs.readFileSync(templatePath, 'utf-8');
|
|
111
|
+
const variables = {
|
|
112
|
+
APP_NAME: config.name,
|
|
113
|
+
DEPLOY_DIR: config.deployDir,
|
|
114
|
+
DOMAIN: config.devDomain || config.prodDomain || '',
|
|
115
|
+
};
|
|
116
|
+
return this.replacePlaceholders(template, variables);
|
|
117
|
+
}
|
|
105
118
|
/**
|
|
106
119
|
* 生成 docker-compose.yml 文件内容
|
|
107
120
|
*/
|
|
@@ -173,6 +186,7 @@ class TemplateGenerator {
|
|
|
173
186
|
const dockerignorePath = path.join(outputDir, '.dockerignore');
|
|
174
187
|
const deployScriptPath = path.join(ciDir, 'deploy.sh');
|
|
175
188
|
const envScriptPath = path.join(ciDir, 'generate-env.sh');
|
|
189
|
+
const cleanupScriptPath = path.join(ciDir, 'cleanup.sh');
|
|
176
190
|
if (fs.existsSync(gitlabCIPath))
|
|
177
191
|
filesToOverwrite.push('.gitlab-ci.yml');
|
|
178
192
|
if (fs.existsSync(dockerComposePath))
|
|
@@ -185,6 +199,8 @@ class TemplateGenerator {
|
|
|
185
199
|
filesToOverwrite.push('ci/deploy.sh');
|
|
186
200
|
if (fs.existsSync(envScriptPath))
|
|
187
201
|
filesToOverwrite.push('ci/generate-env.sh');
|
|
202
|
+
if (fs.existsSync(cleanupScriptPath))
|
|
203
|
+
filesToOverwrite.push('ci/cleanup.sh');
|
|
188
204
|
// 如果有文件将被覆盖,询问用户
|
|
189
205
|
if (filesToOverwrite.length > 0) {
|
|
190
206
|
console.log('\n⚠️ 以下文件将被覆盖:');
|
|
@@ -235,6 +251,12 @@ class TemplateGenerator {
|
|
|
235
251
|
fs.writeFileSync(envScriptPath, envScriptContent, 'utf-8');
|
|
236
252
|
fs.chmodSync(envScriptPath, '755');
|
|
237
253
|
files.push(envScriptPath);
|
|
254
|
+
// 生成 ci/cleanup.sh
|
|
255
|
+
this.backupFile(cleanupScriptPath);
|
|
256
|
+
const cleanupScriptContent = this.generateCleanupScript(config);
|
|
257
|
+
fs.writeFileSync(cleanupScriptPath, cleanupScriptContent, 'utf-8');
|
|
258
|
+
fs.chmodSync(cleanupScriptPath, '755');
|
|
259
|
+
files.push(cleanupScriptPath);
|
|
238
260
|
return { success: true, files };
|
|
239
261
|
}
|
|
240
262
|
catch (error) {
|
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# 清理脚本 - 删除 CI/CD 部署创建的所有资源
|
|
4
|
+
# 用法: bash cleanup.sh [APP_NAME] [DOMAIN]
|
|
5
|
+
# 示例: bash cleanup.sh my-app api.example.com
|
|
6
|
+
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
APP_NAME=${1:-"{{APP_NAME}}"}
|
|
10
|
+
DOMAIN=${2:-"{{DOMAIN}}"}
|
|
11
|
+
DEPLOY_PATH=${3:-"{{DEPLOY_DIR}}"}
|
|
12
|
+
|
|
13
|
+
echo "========================================"
|
|
14
|
+
echo "CloudDreamAI CI/CD 清理脚本"
|
|
15
|
+
echo "========================================"
|
|
16
|
+
echo "应用名称: $APP_NAME"
|
|
17
|
+
echo "域名: $DOMAIN"
|
|
18
|
+
echo "部署目录: $DEPLOY_PATH"
|
|
19
|
+
echo "========================================"
|
|
20
|
+
echo ""
|
|
21
|
+
|
|
22
|
+
# 确认操作
|
|
23
|
+
read -p "⚠️ 确定要删除以上资源吗?此操作不可恢复!(y/N): " confirm
|
|
24
|
+
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
|
|
25
|
+
echo "已取消操作"
|
|
26
|
+
exit 0
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
echo ""
|
|
30
|
+
echo "开始清理..."
|
|
31
|
+
|
|
32
|
+
# 1. 停止并删除 Docker 容器
|
|
33
|
+
echo ""
|
|
34
|
+
echo ">>> [1/7] 清理 Docker 容器..."
|
|
35
|
+
if docker container ls -q --filter "name=$APP_NAME" | grep -q .; then
|
|
36
|
+
docker container stop $(docker container ls -q --filter "name=$APP_NAME") || true
|
|
37
|
+
docker container rm -f $(docker container ls -aq --filter "name=$APP_NAME") || true
|
|
38
|
+
echo "✓ 容器已删除"
|
|
39
|
+
else
|
|
40
|
+
echo "- 未找到相关容器"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
# 2. 删除 Docker 网络
|
|
44
|
+
echo ""
|
|
45
|
+
echo ">>> [2/7] 清理 Docker 网络..."
|
|
46
|
+
if docker network ls --filter "name=${APP_NAME}" -q | grep -q .; then
|
|
47
|
+
docker network rm $(docker network ls --filter "name=${APP_NAME}" -q) 2>/dev/null || true
|
|
48
|
+
echo "✓ 网络已删除"
|
|
49
|
+
else
|
|
50
|
+
echo "- 未找到相关网络"
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
# 3. 删除 Nginx 配置
|
|
54
|
+
echo ""
|
|
55
|
+
echo ">>> [3/7] 清理 Nginx 配置..."
|
|
56
|
+
if [ -n "$DOMAIN" ] && [ -f "/www/server/panel/vhost/nginx/${DOMAIN}.conf" ]; then
|
|
57
|
+
rm -f "/www/server/panel/vhost/nginx/${DOMAIN}.conf"
|
|
58
|
+
echo "✓ Nginx 配置已删除: /www/server/panel/vhost/nginx/${DOMAIN}.conf"
|
|
59
|
+
|
|
60
|
+
# 重载 Nginx
|
|
61
|
+
if command -v nginx &> /dev/null; then
|
|
62
|
+
nginx -t && nginx -s reload
|
|
63
|
+
echo "✓ Nginx 已重载"
|
|
64
|
+
fi
|
|
65
|
+
else
|
|
66
|
+
echo "- 未找到 Nginx 配置"
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# 4. 删除 Nginx 日志
|
|
70
|
+
echo ""
|
|
71
|
+
echo ">>> [4/7] 清理 Nginx 日志..."
|
|
72
|
+
if [ -n "$DOMAIN" ]; then
|
|
73
|
+
rm -f "/www/wwwlogs/${DOMAIN}.log" 2>/dev/null || true
|
|
74
|
+
rm -f "/www/wwwlogs/${DOMAIN}.error.log" 2>/dev/null || true
|
|
75
|
+
echo "✓ Nginx 日志已删除"
|
|
76
|
+
else
|
|
77
|
+
echo "- 跳过(未提供域名)"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# 5. 删除 SSL 证书
|
|
81
|
+
echo ""
|
|
82
|
+
echo ">>> [5/7] 清理 SSL 证书..."
|
|
83
|
+
if [ -n "$DOMAIN" ]; then
|
|
84
|
+
# 宝塔证书目录
|
|
85
|
+
if [ -d "/www/server/panel/vhost/cert/${DOMAIN}" ]; then
|
|
86
|
+
rm -rf "/www/server/panel/vhost/cert/${DOMAIN}"
|
|
87
|
+
echo "✓ 宝塔证书目录已删除"
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
# acme.sh 证书
|
|
91
|
+
if [ -d ~/.acme.sh/${DOMAIN} ]; then
|
|
92
|
+
~/.acme.sh/acme.sh --remove -d $DOMAIN 2>/dev/null || true
|
|
93
|
+
echo "✓ acme.sh 证书已删除"
|
|
94
|
+
fi
|
|
95
|
+
else
|
|
96
|
+
echo "- 跳过(未提供域名)"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# 6. 删除部署目录
|
|
100
|
+
echo ""
|
|
101
|
+
echo ">>> [6/7] 清理部署目录..."
|
|
102
|
+
if [ -n "$DEPLOY_PATH" ] && [ -d "$DEPLOY_PATH" ]; then
|
|
103
|
+
read -p "确定要删除部署目录 $DEPLOY_PATH 吗?(y/N): " confirm_dir
|
|
104
|
+
if [[ "$confirm_dir" == "y" || "$confirm_dir" == "Y" ]]; then
|
|
105
|
+
rm -rf "$DEPLOY_PATH"
|
|
106
|
+
echo "✓ 部署目录已删除"
|
|
107
|
+
else
|
|
108
|
+
echo "- 跳过删除部署目录"
|
|
109
|
+
fi
|
|
110
|
+
else
|
|
111
|
+
echo "- 未找到部署目录"
|
|
112
|
+
fi
|
|
113
|
+
|
|
114
|
+
# 7. 清理未使用的 Docker 资源(可选)
|
|
115
|
+
echo ""
|
|
116
|
+
echo ">>> [7/7] 清理未使用的 Docker 资源..."
|
|
117
|
+
read -p "是否清理未使用的 Docker 镜像和卷?(y/N): " confirm_prune
|
|
118
|
+
if [[ "$confirm_prune" == "y" || "$confirm_prune" == "Y" ]]; then
|
|
119
|
+
docker image prune -f
|
|
120
|
+
docker volume prune -f
|
|
121
|
+
echo "✓ Docker 资源已清理"
|
|
122
|
+
else
|
|
123
|
+
echo "- 跳过 Docker 资源清理"
|
|
124
|
+
fi
|
|
125
|
+
|
|
126
|
+
echo ""
|
|
127
|
+
echo "========================================"
|
|
128
|
+
echo "✓ 清理完成!"
|
|
129
|
+
echo "========================================"
|
|
130
|
+
echo ""
|
|
131
|
+
echo "注意事项:"
|
|
132
|
+
echo "1. GitLab Container Registry 中的镜像需要在 GitLab 网页端手动删除"
|
|
133
|
+
echo "2. GitLab CI/CD 变量需要在 GitLab 网页端手动删除"
|
|
134
|
+
echo "3. 如需完全重新部署,请重新运行 cicd-setup init"
|