编辑文件 my-first-workflow.yaml

This commit is contained in:
xinian
2026-01-28 11:17:31 +08:00
committed by cnb
parent ac4e294344
commit b88c8a5dcc

View File

@@ -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