编辑
2025-07-30
默认分类
00

目录

现有环境变量分析
改进建议
最佳实践建议

根据您的流水线配置,我将分析需要预设的环境变量以及建议的改进方案:

现有环境变量分析

  1. 基础变量(已在 &envs 中定义):

    • PROJECT_NAME
    • BUILD_OUTPUT_DIR
    • EDGEONE_PAGES_API_TOKEN (通过 secrets 导入)
    • DEPLOY_TO_EDGEONE
    • SEND_NOTIFICATION
    • DEPLOY_TRIGGER
  2. 新增功能需要的变量

    • 云服务器同步(rsync)
      • SYNC_TO_ECS (控制开关)
      • SSH_USER
      • SSH_KEY
      • SSH_PORT
      • ECS_IP
    • Gitee同步
      • SYNC_TO_GITEE (主仓库开关)
      • GITEE_USERNAME
      • GITEE_ACCESS_TOKEN
      • SYNC_TO_GITEE_MIRROR (镜像仓库开关)
      • GITEE_MIRROR_USERNAME
      • GITEE_MIRROR_TOKEN
    • CDN刷新
      • TENCENT_OPSRE_AK (腾讯云AK)
      • TENCENT_OPSRE_SK (腾讯云SK)
      • DOMAIN (可复用已有的 onedayxyy.cn)
    • 企业微信通知
      • WEBHOOK_URL (已在 imports 中)
      • OCI_REVIEW_ROBOT (已在 imports 中)

改进建议

  1. 更新 &envs 部分
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"
  1. 敏感数据处理建议
  • 所有密钥类变量(SSH_KEY, GITEE_ACCESS_TOKEN等)应通过imports引入
  • 建议创建单独的secret管理文件,例如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 } }
  1. 分支特定变量建议
  • 在分支配置中覆盖默认值,如dev分支:
yaml
dev: push: builder: ... env: <<: *envs PROJECT_NAME: vitepress-theme-teek-dev SYNC_TO_GITEE: "true" # dev分支开启Gitee同步
  1. 条件判断优化
  • 可以增加更精细的控制变量,如:
yaml
# 在envs中添加 SYNC_STRATEGY: "all" # 可选 all/ecs-only/gitee-only/none

最佳实践建议

  1. 变量分类管理

    • 基础配置变量:直接写在流水线中
    • 敏感数据:通过secrets导入
    • 环境特定变量:在分支/标签配置中覆盖
  2. 文档说明: 在流水线顶部添加注释说明各变量用途:

    yaml
    # 变量说明: # DEPLOY_TO_EDGEONE - 控制EdgeOne部署(true/false) # SYNC_TO_ECS - 控制云服务器同步(true/false) # ...其他变量说明
  3. 默认安全: 所有敏感操作(SYNC_TO_ECS等)默认设为false,仅在需要时开启

这样改进后,您的流水线将具有更好的可维护性和安全性,同时支持所有新增功能的需求。

本文作者:任浪漫

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!