diff --git a/.woodpecker/my-first-workflow.yaml b/.woodpecker/my-first-workflow.yaml index 304c3d19..c77c9b82 100644 --- a/.woodpecker/my-first-workflow.yaml +++ b/.woodpecker/my-first-workflow.yaml @@ -7,9 +7,9 @@ when: skip_clone: true # 关闭默认clone,手动拉取代码 -# 流水线核心步骤:修复插件模板兼容+变量验证 +# 流水线核心步骤:修复所有模板括号缺失问题 steps: - # ========== 0. 变量验证(新增:提前检查关键变量,避免后续解析错误) ========== + # ========== 0. 变量验证(提前检查关键变量) ========== - name: validate env vars image: alpine:latest commands: @@ -24,7 +24,7 @@ steps: done # 给可选变量设置默认值 export LOGIN_SERVER_PORT=${LOGIN_SERVER_PORT:-22} - # 打印变量(调试用,生产可删除) + # 打印变量(调试用) echo "✅ 变量验证通过:" echo "LOGIN_SERVER_HOST: ${LOGIN_SERVER_HOST}" echo "LOGIN_SERVER_USER: ${LOGIN_SERVER_USER}" @@ -67,6 +67,7 @@ steps: mount: - /go/pkg/mod - /root/.cache/go-build + # 关键:检查此处{{ }}完全闭合,无缺失 cache_key: '{{ .Repo.Name }}-{{ .Commit.Branch }}-{{ checksum "blazing-project/go.mod" }}-{{ checksum "blazing-project/login/go.mod" }}' # ========== 4. 编译Logic和Login服务 ========== @@ -112,15 +113,15 @@ steps: mount: - /go/pkg/mod - /root/.cache/go-build + # 关键:检查{{ }}完全闭合 cache_key: '{{ .Repo.Name }}-{{ .Commit.Branch }}-{{ checksum "blazing-project/go.mod" }}-{{ checksum "blazing-project/login/go.mod" }}' - # ========== 6. SCP推送Login和Logic到指定服务器(核心修复:最简模板语法) ========== + # ========== 6. SCP推送产物(检查所有{{ }}闭合) ========== - name: deploy to login server image: appleboy/drone-scp:1.6.2 imports: https://cnb.cool/blzing/key/-/blob/main/githubkey.yml depends_on: [rebuild cache] settings: - # 核心修复:仅使用最简模板语法 {{ .变量名 }},移除管道符 host: {{ .LOGIN_SERVER_HOST }} username: {{ .LOGIN_SERVER_USER }} password: {{ .LOGIN_SERVER_PASSWORD }} @@ -133,13 +134,12 @@ steps: skip_verify: true timeout: 30s - # ========== 7. SSH启动Login服务并移动Logic到Public(核心修复:最简模板语法) ========== + # ========== 7. SSH启动服务(检查所有{{ }}闭合) ========== - name: start login and move logic image: appleboy/drone-ssh:1.6.2 imports: https://cnb.cool/blzing/key/-/blob/main/githubkey.yml depends_on: [deploy to login server] settings: - # 核心修复:仅使用最简模板语法 {{ .变量名 }} host: {{ .LOGIN_SERVER_HOST }} username: {{ .LOGIN_SERVER_USER }} password: {{ .LOGIN_SERVER_PASSWORD }} @@ -167,7 +167,7 @@ steps: # 启动新进程 screen -dmS ${session_name} ./${BIN_NAME} echo "✅ Login服务启动成功 | Screen: ${session_name}" - # 等待服务启动并进行健康检查 + # 健康检查 sleep 3 if screen -list 2>/dev/null | grep -q "${session_name}"; then echo "✅ 服务健康检查通过 | Screen: ${session_name}" @@ -175,7 +175,7 @@ steps: echo "❌ 服务健康检查失败 | Screen: ${session_name} 不存在" exit 1 fi - # 移动logic产物到public目录 + # 移动logic产物 LOGIC_BIN=$(ls -t logic_v* 2>/dev/null | head -1) if [ -n "$LOGIC_BIN" ]; then mkdir -p /opt/login/public