给你的项目增加 Git WebHooks
发布于 2023-07-18
2562
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
WebHooks 自动部署及 sy-records/webhooks 扩展包使用摘要
在之前的文章《使用 Github 的 WebHooks 实现生产环境代码自动更新》中提到了使用 WebHooks 实现代码的自动部署。不同的 Git 仓库平台(GitHub、GitLab、Gitee)发送的 WebHooks 请求数据格式存在差异,文章提供了一个解决方案。
解决方案
使用 composer 扩展包 sy-records/webhooks 可以帮助项目支持 WebHooks,并允许自定义 WebHooks 规则。该扩展包支持设定多种条件,如分支、Tag、提交者和提交内容,以触发特定事件,并且能够验证 WebHooks 请求的有效性。
安装
sy-records/webhooks 扩展包要求 PHP 版本不低于 7.2。安装方法是通过 Composer:
composer require sy-records/webhooks
使用方法
使用该扩展包需要实例化 Payload 类来获取 handler 对象,该对象可以处理 WebHooks 请求。如果有实现 MessageInterface 的 request 对象,可以在实例化时传入;否则,将从全局变量中获取。
一旦获取到 handler 对象,就可以调用多种方法来处理 WebHooks 请求,例如检查是否为 ping 请求,获取事件名称,以及验证请求的有效性等。完整的方法列表可以在 HandlerInterface 接口文档中查看。
参考资料
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
使用 acme.sh 自动申请并更新泛域名证书
通过 acme.sh,不仅可以快速申请泛域名证书,还能轻松实现自动更新,降低了 SSL 证书管理的复杂度。
对接腾讯云实时音视频(TRTC)云端录制
使用腾讯云TRTC的服务端的 REST API 实现云端录制。
MySQL 字符集与大小写敏感性解析
在 MySQL 数据库中,UTF-8 及其变体是最常用的字符集。
使用Composer Scripts为依赖进行瘦身
常见的 SDK 都会将所有功能都集成在一个代码库中,本文以腾讯云开发者工具套件(SDK)3.0 为例。
PHP8正式版发布,带来了注解和JIT
PHP8 正式版已经发布,来看看都有哪些新特性
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线