我在Forge账户上有一台服务器,上面有两个站点。一个是生产站点,另一个是暂存网站。例如:
- domain.com
- test.domain.com
这两个站点都依赖于同一个Github代码库。当提交到develop分支时,暂存网站应该被部署;而当提交到main分支时,生产站点应该被部署。
我的操作:
我将两个站点的部署钩子添加到Github代码库的secrets中:
- FORGE_DEPLOYMENT_HOOK_PRODUCTION
- FORGE_DEPLOYMENT_HOOK_STAGING
然后,我为这两个站点创建了Github action。当任何一个分支推送时,它会发出curl请求到部署钩子。
name: Deploy production
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy Site
run: curl ${{ secrets.FORGE_DEPLOYMENT_HOOK_PRODUCTION }}
我将生产站点(domain.com)的部署密钥添加到仓库的部署密钥中。当我尝试添加测试站点(test.domain.com)的密钥时,出现错误:密钥已被使用。如果我检查密钥,实际上是一个不同的密钥,除了前面的x个字符。因为我无法添加密钥,所以该操作仅适用于生产站点,而不适用于测试站点。在部署测试站点时出现此错误:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
所以我的问题是:我如何添加第二个部署密钥?如果不可能,那么设置Github actions以实现相同目标的最佳方法是什么?我认为这是最简单的方法。