Skip to content

zq77782/sssr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto-SAP应用部署说明文档

前置要求

  • GitHub 账户:需要有一个 GitHub 账户来创建仓库和设置工作流
  • SAP Cloud Foundry 账户:需要有 SAP Cloud Foundry 的有效账户,点此注册:https://www.sap.com

部署步骤

  1. Fork本仓库

  2. 在Actions菜单允许 I understand my workflows, go ahead and enable them 按钮

  3. 在 GitHub 仓库中设置以下 secrets(Settings → Secrets and variables → Actions → New repository secret):

    • EMAIL: Cloud Foundry账户邮箱
    • PASSWORD: Cloud Foundry账户密码

    注意:新版本工作流已自动检测组织和空间,无需再设置以下secrets:

    • SG_ORG: 新加坡组织名称(已自动获取)
    • US_ORG: 美国组织名称(已自动获取)
    • SPACE: Cloud Foundry空间名称(已自动获取)
  4. 设置Docker容器环境变量(也是在secrets里设置)

    使用固定隧道token部署,请在cloudflare里设置端口为8001:

    设置基础环境变量:

    • UUID:节点uuid,如果开启了哪吒v1,部署完一个之后一定要修改UUID,否则agent会被覆盖
    • ARGO_DOMAIN:固定隧道域名,未设置将使用临时隧道
    • ARGO_AUTH:固定隧道json或token,未设置将使用临时隧道
    • SUB_PATH:订阅token,未设置默认是sub

    可选环境变量:

    • NEZHA_SERVER:v1形式: nezha.xxx.com:8008 v0形式:nezha.xxx.com
    • NEZHA_PORT:V1哪吒没有这个
    • NEZHA_KEY:v1的NZ_CLIENT_SECRET或v0的agent密钥
    • CFIP:优选域名或优选ip
    • CFPORT:优选域名或优选ip对应端口
    • CHAT_ID:Telegram聊天ID(可选)
    • BOT_TOKEN:Telegram机器人令牌(可选)
  5. 开始部署

    • 在GitHub仓库的Actions页面找到"自动部署SAP"工作流
    • 点击"Run workflow"按钮
    • 根据需要选择或填写以下参数:
      • environment: 选择部署环境(staging/production)
      • region: 选择部署区域(SG/US)
      • app_name: (可选)指定应用名称,留空则自动生成
    • 点击绿色的"Run workflow"按钮开始部署

    工作流会自动:

    • 检测并选择第一个可用的组织
    • 检测并选择第一个可用的空间
    • 显示部署目标信息
    • 完成应用部署和配置
  6. 获取节点信息

    • 点开运行的actions,查看Deploy application步骤的日志
    • 在日志末尾可以看到完整的部署信息,包括:
      • 应用名称
      • 访问域名
      • 部署组织和空间
      • 部署区域
    • 订阅地址:域名/$SUB_PATH(SUB_PATH变量没设置默认是sub,即订阅为:域名/sub)

应用管理

删除应用

  • 在Actions页面找到"删除指定区域所有SAP应用"工作流
  • 点击"Run workflow"按钮
  • 选择要删除应用的区域(SG或US)
  • 在确认框中输入"确认删除"
  • 点击"Run workflow"开始删除
  • 工作流会自动检测组织和空间,并删除该区域下的所有应用

保活机制

GitHub Actions自动保活(推荐)

  • 本仓库包含"自动保活SAP"工作流,会自动重启所有区域的应用
  • 默认每天23:58执行(可在工作流文件中调整cron时间)
  • 工作流会自动检测所有区域的组织和空间
  • 并行处理SG和US区域的应用重启
  • actions保活可能存在时间误差,建议根据前两天的情况进行适当调整cron时间

VPS或NAT小鸡保活

推荐使用keep.sh在vps或nat小鸡上精准保活:

  1. 下载文件到vps或本地
wget https://raw.githubusercontent.com/eooce/Auto-deploy-sap-and-keepalive/refs/heads/main/keep.sh && chmod +x keep.sh
  1. 修改keep.sh开头4-11行中的变量和保活url

  2. 运行保活脚本

bash keep.sh

Cloudflare Workers保活

  1. 登录你的Cloudflare账户 Cloudflare Dashboard
  2. 点击 Workers and pages创建一个workers,编辑代码
  3. 全选_worker-keep.js文件里的代码粘贴到workers中
  4. 在开头添加登录email和登录密码(telegram通知配置可选)、项目URL和项目名称
  5. 右上角点击部署
  6. 部署成功后返回到该worker设置中选择添加触发事件
  7. 添加cron触发器,cron表达式设置为:*/2 0 * * *(北京时间早上8-9点每2分钟检查一次)

新版本优势

简化配置

  • 无需手动设置组织和空间secrets
  • 自动检测并使用第一个可用的组织和空间
  • 减少了配置错误的可能性

智能部署

  • 自动生成应用名称(可自定义)
  • 显示详细的部署目标信息
  • 提供完整的部署结果反馈

统一管理

  • 所有工作流都使用相同的自动检测逻辑
  • 支持多区域并行操作
  • 提供详细的操作日志和统计信息

注意事项

  1. 必需配置:确保EMAIL和PASSWORD这两个GitHub Secrets已正确配置
  2. 区域权限:多区域部署需先开通权限,确保目标区域有足够的内存配额
  3. 安全设置:建议设置SUB_PATH订阅token,防止节点泄露
  4. 首次使用:第一次使用时工作流会自动检测可用资源,请查看运行日志确认检测结果
  5. 应用命名:如果不指定应用名称,系统会自动生成格式为"区域代码+随机字符串"的名称
  6. 环境变量:可以通过.env文件设置额外的环境变量,工作流会自动读取并应用

About

Auto deploy sap and keepalive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 75.3%
  • Shell 24.7%