feat(.woodpecker): 添加SSH初始化步骤并优化流水线依赖关系

在Woodpecker流水线配置中添加了SSH初始化步骤,用于创建SSH目录和配置文件,
同时修正了各步骤间的依赖关系以确保正确的执行顺序:

- 新增init-ssh步骤,设置SSH基础环境
- cache-go-mod依赖于init-ssh
- prepare-go依赖于cache-go-mod
- set-version依赖于prepare-go
- build-logic依赖于set-version
- fetch-deploy-config依赖于build-logic

此改动确保了流水线步骤按正确顺序执行,并为后续的SSH相关
This commit is contained in:
昔念
2026-01-26 23:33:44 +08:00
parent 4f962ab2f2
commit ea6852aa6f

View File

@@ -16,6 +16,14 @@ clone:
# Woodpecker原生顶层字段3流水线步骤
steps:
# SSH初始化步骤
init-ssh:
image: alpine:latest
commands:
- mkdir -p /root/.ssh
- touch /root/.ssh/known_hosts
- chmod 600 /root/.ssh/known_hosts
# 1. 缓存Go依赖加速构建
cache-go-mod:
image: woodpeckerci/plugin-cache
@@ -26,6 +34,8 @@ steps:
key: ${CI_OS}-go-${CI_COMMIT_SHA:0:8}
restore_keys:
- ${CI_OS}-go-
depends_on:
- init-ssh
# 2. 初始化Go环境 & 预下载依赖
prepare-go:
@@ -33,6 +43,8 @@ steps:
commands:
- go version
- go mod download -x
depends_on:
- cache-go-mod
# 3. 生成构建版本号8位短SHA
set-version:
@@ -41,6 +53,8 @@ steps:
- VERSION="v$(git rev-parse --short=8 HEAD)"
- echo "BUILD_VERSION=${VERSION}" >> $CI_ENV_FILE
- echo "✅ 生成版本号:${VERSION}"
depends_on:
- prepare-go
# 4. 编译Go服务静态编译无系统依赖
build-logic:
@@ -63,6 +77,8 @@ steps:
fi
- ls -lh ./build/
- echo "✅ Go服务编译完成"
depends_on:
- set-version
# 5. 拉取JSON & 解析服务器/账号/密码/online_id
fetch-deploy-config:
@@ -89,6 +105,8 @@ steps:
- echo "REMOTE_USERS=${REMOTE_USERS}" >> $CI_ENV_FILE
- echo "REMOTE_PASSWORDS=${REMOTE_PASSWORDS}" >> $CI_ENV_FILE
- echo "REMOTE_ONLINE_IDS=${REMOTE_ONLINE_IDS}" >> $CI_ENV_FILE
depends_on:
- build-logic
# 6. SCP推送产物到远程服务器密码认证
scp-exe-to-servers:
@@ -172,4 +190,4 @@ variables:
- &screen_name "logic_service"
- &remote_exe_dir "/opt/logic"
- &json_config_url "https://你的JSON配置地址.com/deploy.json"
- &log_path "$HOME/run.log"
- &log_path "$HOME/run.log"