```
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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user