2 个版本

使用旧的 Rust 2015

0.2.0 2018年8月10日
0.2.0-beta.12018年7月24日

测试 中排名 425

每月下载 21

GPL-2.0+

58KB
1K SLoC

snowpatch - 补丁的持续集成

Build Status Crates.io

概述

snowpatch 是一个针对使用基于补丁、以邮件列表为中心的 Git 工作流的项目的持续集成工具。这种工作流被许多知名的开放源代码项目使用,如 Linux 内核。

snowpatch 充当补丁跟踪系统与持续集成自动化服务器之间的桥梁。snowpatch 监控补丁队列中的补丁,在现有树形结构上应用补丁,触发适当的构建和测试套件,并报告结果。

目前,snowpatch 支持 PatchworkJenkins

snowpatch 设计理念与 Patchwork 的补充而非取代现有工作流的理念一致。对于已经将 Patchwork 作为核心补丁管理工具的项目,snowpatch 不会对开发工作流造成任何额外变化。

snowpatch 只需要 Patchwork 账户和具有适当权限的 Jenkins 账户以及 API 密钥。许多使用基于补丁的工作流的项目高度去中心化,使用他们不管理的 Patchwork 实例,并在公司防火墙后面隐藏的构建机器。因此,snowpatch 设计上不需要对 Patchwork 或 Jenkins 进行管理员访问或安装额外的插件。

snowpatch 故意采用极简设计,这使其与像 Zuul 这样的工具区分开来,后者更加复杂,可能更适合能够更好地适应全面 CI 系统的工作流的项目。其他提供 CI 系统集成支持的补丁跟踪系统,如 Patchew,也可能适用于具有合适工作流的项目。

snowpatch 以纪念 skiboot 项目命名,该项目启发了 snowpatch 的创建。

项目状态

雪斑目前正处于积极开发中。它已经实现了足够的核心功能,可以满足基本持续集成(CI)需求,并且目前已在少数项目中投入生产使用。仍有许多核心功能尚未实现,文档也尚不完整。

目前,没有稳定性保证,新版本的行为可能会在没有通知的情况下发生重大变化。

安装

雪斑是一个Rust程序。为了编译它,您需要Rust及其包管理器Cargo。雪斑应能在任何支持Rust和Git的目标上运行,但仅经过Linux测试。目前我们不提供预构建的二进制文件。

非Rust依赖项

使用Cargo安装

要使用Cargo安装最新标记的雪斑版本,请运行cargo install snowpatch,这将下载并编译雪斑及其所有Rust依赖项。雪斑二进制文件将被安装为snowpatch

手动构建

要手动编译雪斑,请克隆Git仓库并运行cargo build --release。可执行文件可以在target/release/snowpatch中找到或使用cargo run执行。

文档

要获取使用信息,请运行snowpatch --help

示例配置可以在examples目录中找到。

更多信息可以在docs目录中找到。

贡献

请阅读我们的贡献指南,了解有关贡献的更多信息。

联系方式

雪斑的开发在[email protected]的邮件列表上完成。要订阅,请访问列表信息页面

补丁在patchwork.ozlabs.org上跟踪。

雪斑由Russell CurreyAndrew Donnellan维护。

许可

版权所有 © 2016-2018 IBM公司。

此程序是免费软件;您可以在自由软件基金会发布的GNU通用公共许可证的条款和条件下重新分发和/或修改它;许可证的第2版,或(根据您的选择)任何较新版本。

此程序的分发是希望它有用,但没有任何保证;甚至没有对适销性或针对特定目的的适用性的隐含保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已经收到与此程序一起的GNU通用公共许可证副本;如果没有,请写信给自由软件基金会,公司地址:美国马萨诸塞州波士顿市富兰克林街51号,5楼,邮编02110-1301。

依赖项

~28–41MB
~736K SLoC