github - 如何删除 Github 环境
问题描述
我的问题是关于清理 Github 存储库上的“环境”选项卡。
我之前通过 Heroku 部署,使用来自两个单独的 Github 分支(一个用于暂存,一个用于生产)的自动部署。
这在存储库上创建了一个“环境”选项卡,其中显示了两个 Heroku 环境 - 完全符合预期。
一旦我开始深入研究 Heroku 管道,我现在已经将应用程序配置为从 staging 升级到生产环境,因此生产环境不再从分支自动部署。
我的 Github repo 上的 Environments 选项卡无法删除我不再使用的环境。我似乎在 Github 或 Heroku 上找不到任何地方让 Github “忘记”这个部署环境。
我希望我的问题足够清楚;如果我可以详细说明任何事情,请告诉我。
解决方案
它似乎没有 UI,但您可以使用 GitHub API 来完成。
在执行此操作之前,您可能应该断开 GitHub 和 Heroku。
首先,转到您的 GitHub 帐户设置,然后是开发人员设置,然后是个人访问令牌。创建一个允许 repo_deployments 的新令牌。生成后,保存十六进制令牌,您将需要它来处理即将到来的 API 请求。
对于这些示例,我假设您的用户名是$aaaa
,您的仓库名称是$bbbb
,您的访问令牌是$tttt
。将这些替换为您的实际用户名和存储库名称以及访问令牌。或者只是使用 shell 变量来存储实际值,这样您就可以直接粘贴代码块。
首先,列出你的 repo 中的所有部署:
curl https://api.github.com/repos/$aaaa/$bbbb/deployments
每个部署都有一个id
整数。记下它,并$iiii
在即将到来的代码块中替换为该 ID。或者为它创建另一个 shell 变量。
现在您必须为该部署创建“非活动”状态:
curl https://api.github.com/repos/$aaaa/$bbbb/deployments/$iiii/statuses -X POST -d '{"state":"inactive"}' -H 'accept: application/vnd.github.ant-man-preview+json' -H "authorization: token $tttt"
现在您可以永久删除部署:
curl https://api.github.com/repos/$aaaa/$bbbb/deployments/$iiii -X DELETE -H "authorization: token $tttt"
如果您有多个部署,请发送第一个请求以查看所有剩余的部署,然后您也可以根据需要删除这些部署。
删除所有部署后,GitHub 存储库上的环境按钮将消失。
信息来自GitHub 部署文档和GitHub oauth 文档。这对我有用。
推荐阅读
- angular - 当服务需要导入另一个服务时如何避免“循环依赖”错误
- python - 在 pandas 中读取具有非 ascii 字符集的 CSV,然后存储在 PGSQL 中
- homebrew - 自制软件在 MacOS Big Sur 上失败
- typescript - 在 Typescript 中将非 null 值与 null 进行比较时是否可能会收到警告?
- r - ggplot:用图中的点数更新构面标签
- maven - 列出maven中所有缺少的依赖项
- azure - 如何将保留历史记录(时间戳和版本)的 Databricks 表复制到新订阅中的另一个 Databricks?
- swift - 如何在Firebase / Swift中更新字段等于的文档字段
- powershell - PowerShell:Visual Studio Code - 不反映模块中的更改
- serverless-framework - 使用无服务器离线在本地捕获 Dynamo 流事件