环境与测试账号

一套 spec,多个目标。默认情况下 Cloud 把 spec 跑在 CI 里启动的应用上(default)。添加一个环境,就能把同一套 spec 指向已部署的 URL——staging、production、PR 预览——并接入每个环境需要的登录。

default 环境

每个项目都从 default 开始:workflow 在 CI runner 里启动你的应用(你的 dev 脚本)并在那里测试。这是 pull request 和推送的默认目标。它的启动设置——包管理器、dev 脚本、应用 URL、测试路径——在项目页的 Configure → CI settings 下。

添加远程环境

在项目页,环境标签页就是页面的上下文——运行历史、Run now 和配置都跟随所选标签页。点 + Add environment,给它一个名字(stagingproduction)和一个已部署的 URL。随后 Cloud 会:

  1. 在仓库上创建一个同名 GitHub Environment。
  2. 把它的 HOVER_BASE_URL 变量设为已部署的 URL。
  3. 重新提交 workflow,让这个环境出现在 dispatch 选择器里。

现在在那个标签页点 Run now,就会把同一套 spec dispatch 到那个已部署的 URL——CI 里什么都不启动,直接测试线上部署。

spec 如何读取目标

测试账号

大多数流程都要登录。在 Configure → Test accounts 下添加一个带标签的凭据,Cloud 会把它直接写进 GitHub 的加密 secret 存储。你的 spec 这样读取(标签为 ADMIN 时):

process.env.HOVER_ADMIN_USER   // 用户名/邮箱
process.env.HOVER_ADMIN_PASS   // 密码

添加一个 TEST_USER 标签,你就得到 HOVER_TEST_USER_USER / HOVER_TEST_USER_PASS,依此类推。

仅透传——Cloud 从不保存值

账号的作用域是所选环境。default 账号写成仓库级 secret(在每次运行都生效);命名环境上的账号写成环境级 secret,当 job 绑定那个环境时覆盖仓库级的同名 secret。所以你可以让同一个 ADMIN 标签在 staging 指向一个沙盒用户、在 production 指向一个受限用户。

删除

每个账号行都有 Remove 按钮——它会一并删除 GitHub secret,并在没有其他环境还用这个标签时把名字从 workflow 里去掉。删除整个环境(在 Configure → Danger zone)会移除 GitHub Environment、它的环境级 secret,以及它在 workflow 选择器里的条目;历史运行保留。

下一步