💡
原文英文,约1100词,阅读约需4分钟。
📝
内容提要
Keploy希望将其工具集成到GitHub流水线中,以确保拉取请求的安全合并和部署。由于Keploy使用eBPF跟踪网络调用,需要sudo权限,因此面临在GitHub上获取此权限的问题。eBPF可以监控系统调用和网络活动,自动生成测试用例。GitHub的runner提供的有限sudo权限足以支持Keploy的功能。
🎯
关键要点
- Keploy希望将其工具集成到GitHub流水线中,以确保拉取请求的安全合并和部署。
- Keploy使用eBPF跟踪网络调用,需要sudo权限,这在GitHub上面临挑战。
- eBPF可以监控系统调用和网络活动,自动生成测试用例。
- GitHub的runner提供的有限sudo权限足以支持Keploy的功能。
- 典型的合并周期包括创建PR、运行工作流和合并。
- 工作流是通过YAML文件定义的自动化过程,响应仓库中的事件。
- eBPF允许安全、高效地跟踪和监控内核和用户空间进程。
- Keploy计划在每次向主分支发送拉取请求时运行eBPF。
- GitHub托管的runner不允许编辑或配置cgroups,但可以使用eBPF钩子捕获网络活动。
- GitHub和Gitlab允许在runner上附加kprobes钩子,而Bitbucket则不允许。
- GitHub runner提供类似root的权限,适合运行基于eBPF的工具。
- eBPF可以在GitHub Actions中运行,而无需完全的root访问权限。
- eBPF可以提取网络数据的元数据,如源和目标IP、端口和协议。
- 在OpenWRT中启用eBPF需要重新编译内核并启用相关配置选项。
- Keploy使用eBPF监控网络调用,以便在不修改应用代码的情况下自动生成测试用例。
- GitHub工作流使用YAML文件定义步骤和runner,确保在每个PR中进行一致的测试。
➡️