git - Webhook 和 CI/CD 之间的区别

标签 git continuous-integration webhooks continuous-deployment github-actions

我知道 Webhooks 用于从托管的 git 存储库触发服务器端操作,而 CI/CD 代表托管的 git 存储库的持续集成和持续部署/交付,但关键区别是什么,特别是当它们都是由单一的 git 托管服务提供商提供的,例如 GitLab 或 GitHub? (对于 GitLab,这些指的是 Webhooks 和 CI/CD,而对于 GitHub,这些指的是 Webhooks 和 GitHub Actions。)

文档模糊地详细说明了 Webhook 可以如何以及如何用于触发 CI/CD,但与此同时,即使没有明确的 webhook 添加到 git 存储库,供应商提供的 CI/CD 也可以运行。这是否意味着每个使用供应商提供的 CI/CD 的托管 git 存储库都有一个 Webhook?

我从上面的理解是,明确的 Webhooks(与底层 Webhooks 相反)可用于触发第 3 方 CI/CD,而 git 托管服务提供商的 CI/CD 是由同一方托管和运行的。这是正确的吗?

非常感谢发布答案的人。

最佳答案

Webhook 和 CI/CD 是两种不同的技术,您经常会发现它们一起使用。

Webhooks 被设置为将数据实时发布到消费应用程序。 Webhook 通常会发布到一个 URL 端点,该端点被设置为接受来自它的信息。在 CI 的情况下,这可能是一个 webhook,用于在提交发生时发布有关提交的信息。有关更多信息,请参见此处 - https://codeburst.io/what-are-webhooks-b04ec2bf9ca2

CI/CD 的存在是为了自动化软件的部署和构建。一个常见的用法是为它可能需要的不同环境构建软件,例如开发,暂存,生产。一个流行的 CI 工具是 Team City - https://www.jetbrains.com/teamcity/

重申一下,webhook 并没有试图解决与 CI/CD 相同的问题,但它们确实扩展了它可以做的事情的功能。

关于git - Webhook 和 CI/CD 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59137962/

相关文章:

android - 在 github 操作工作流程中下载操作存储库 'r0adkll/sign-android-release@v1' 时出错

GitHub : I am missing "Settings" menu on the landing page of my repo

git - 将更改推送到 Github 时无法让 Jenkins 触发构建

python - 如何使用python子进程从master获取最新的提交id(git repo)

git - 如何将 git 忽略的文件夹推送到子树分支?

git - 我可以将 git 配置为通过 merge 排序来自动解决冲突吗?

webhooks - Grafana webhooks - 发送失败

git - Git 等同于从 Subversion 中的工作副本中标记什么?

python - Pytest 在 GitHub Actions 上失败,但在本地成功

python - 如何将 travis ci 与 Python 中的 codeclimate 测试覆盖率集成?