git - 如何使用 GitHub Actions 拒绝来自存储库成员的推送?

标签 git github github-actions

我的任务如下:收到新的提交后(通过单次推送),有必要执行 github 操作,该操作将通过 ssh 发送任务以在测试服务器上进行测试(使用 git pullnpm test ) .然后,如果测试失败,则应取消此推送(其中的所有提交)。
有了第一部分,似乎没有问题,但是我不知道如何实现第二部分,即取消推送。感谢您对问题的关注!

最佳答案

您不能使用 GitHub Actions 来阻止推送;你需要一个预接收钩子(Hook)来做到这一点。 GitHub 的云版本目前不支持,但 GitHub Enterprise Server(本地版本)支持。

但是,根据您对 npm test 的使用,您可以做什么,以及您可能想要做什么。 , 是在 push 上运行 CI 作业并限制 master分支。您可以使用 GitHub Actions 在打开 pull 请求时自动测试您的代码,并要求所有检查都通过后才能 merge 。由于master分支不能直接推送,就无法避免 CI 工作。

如果您是项目的唯一贡献者,您可以将您的分支推送到您的存储库,让 CI 作业运行,然后快速 merge 到 master如果工作通过。这需要做更多的工作,但您不必打开任何 pull 请求。

关于git - 如何使用 GitHub Actions 拒绝来自存储库成员的推送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741805/

相关文章:

git - 如何获取 GitHub 仓库的语言标签?

git - 为什么 gh-pages 选项不再可用?

github - 获取与拉取请求表单 github api v3 相关的链接问题和项目

facebook - GitHub 社交媒体图像在更新时未刷新

github - 获取github secret值的方法

git - 如何修复损坏的 Git 存储库?

git - 与分支同名的标签

ruby-on-rails - Heroku Ruby 版本不会升级?

docker - 在私有(private) docker 容器中运行整个 GitHub Actions 工作流作业

github - 如何为我的 Github 操作找到正确的入站规则以部署到我的 AWS EC2 服务器上?