根据您的流水线配置,我将分析需要预设的环境变量以及建议的改进方案:
基础变量(已在 &envs 中定义):
PROJECT_NAME
BUILD_OUTPUT_DIR
EDGEONE_PAGES_API_TOKEN
(通过 secrets 导入)DEPLOY_TO_EDGEONE
SEND_NOTIFICATION
DEPLOY_TRIGGER
新增功能需要的变量:
SYNC_TO_ECS
(控制开关)SSH_USER
SSH_KEY
SSH_PORT
ECS_IP
SYNC_TO_GITEE
(主仓库开关)GITEE_USERNAME
GITEE_ACCESS_TOKEN
SYNC_TO_GITEE_MIRROR
(镜像仓库开关)GITEE_MIRROR_USERNAME
GITEE_MIRROR_TOKEN
TENCENT_OPSRE_AK
(腾讯云AK)TENCENT_OPSRE_SK
(腾讯云SK)DOMAIN
(可复用已有的 onedayxyy.cn)WEBHOOK_URL
(已在 imports 中)OCI_REVIEW_ROBOT
(已在 imports 中)yaml.env: &envs
# 基础变量
PROJECT_NAME: vitepress-theme-teek-ysundy-blog
BUILD_OUTPUT_DIR: .vitepress/.dist
EDGEONE_PAGES_API_TOKEN: { { secrets.EDGEONE_PAGES_API_TOKEN } }
# 部署控制
DEPLOY_TO_EDGEONE: "true"
SEND_NOTIFICATION: "false"
DEPLOY_TRIGGER: "deploy"
# 新增功能开关
SYNC_TO_ECS: "false"
SYNC_TO_GITEE: "false"
SYNC_TO_GITEE_MIRROR: "false"
# 通用域名配置
DOMAIN: "onedayxyy.cn"
imports
引入secrets.yml
:yaml# secrets.yml
envs:
# 云服务器相关
SSH_USER: { { secrets.SSH_USER } }
SSH_KEY: { { secrets.SSH_KEY } }
SSH_PORT: { { secrets.SSH_PORT } }
ECS_IP: { { secrets.ECS_IP } }
# Gitee相关
GITEE_USERNAME: { { secrets.GITEE_USERNAME } }
GITEE_ACCESS_TOKEN: { { secrets.GITEE_ACCESS_TOKEN } }
GITEE_MIRROR_USERNAME: { { secrets.GITEE_MIRROR_USERNAME } }
GITEE_MIRROR_TOKEN: { { secrets.GITEE_MIRROR_TOKEN } }
# 腾讯云CDN
TENCENT_OPSRE_AK: { { secrets.TENCENT_OPSRE_AK } }
TENCENT_OPSRE_SK: { { secrets.TENCENT_OPSRE_SK } }
yamldev:
push:
builder:
...
env:
<<: *envs
PROJECT_NAME: vitepress-theme-teek-dev
SYNC_TO_GITEE: "true" # dev分支开启Gitee同步
yaml# 在envs中添加
SYNC_STRATEGY: "all" # 可选 all/ecs-only/gitee-only/none
变量分类管理:
文档说明: 在流水线顶部添加注释说明各变量用途:
yaml# 变量说明:
# DEPLOY_TO_EDGEONE - 控制EdgeOne部署(true/false)
# SYNC_TO_ECS - 控制云服务器同步(true/false)
# ...其他变量说明
默认安全: 所有敏感操作(SYNC_TO_ECS等)默认设为false,仅在需要时开启
这样改进后,您的流水线将具有更好的可维护性和安全性,同时支持所有新增功能的需求。
本文作者:任浪漫
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!