Pagure:DIY git 项目托管

帕古 是一个新的、功能齐全的网络 git 存储库服务,用 Python 编写。 它类似于其他流行的 git 锻造,例如 GithubGitLab,允许开源贡献者在代码和内容上共享和协作。 顺便说一句,pagure 是法语中“寄居蟹”的意思,正如标志上所反映的那样 项目文件.

Pagure 是 皮埃尔-伊夫·希邦的成员 Fedora 工程团队. 这 Fedora 工程团队专注于 Python 基于解决方案,因为该语言易于学习,因此对贡献者的进入门槛较低。 因此,Pagure 不仅非常适合托管项目,而且非常适合鼓励对服务本身的贡献。

作为 Facebook,谷歌和其他人已经证明,Python 可以是高性能的。 Pagure 也不例外,它为网络用户提供响应式体验。 您可以看到 Pagure 正在运行 这里,它已经用于数十个高度活跃的项目。 Pagure 的代码 托管在服务本身上。

帕格的特点

Pagure 提供了其他 git forge 服务中的许多功能:

  • 用户、组、项目存储库和分叉的自助式创建
  • 通过 HTTPS 和 SSH 访问存储库
  • 多个身份验证源,使用通过 Pagure 本身登录; 或 OpenID 与 Ipsilon 等外部提供程序,因此您可以将 Pagure 链接到 LDAP、系统帐户或其他帐户数据
  • 基于拉取请求的工作流程,包括讨论和审查
  • Web界面中文本文件的内置编辑器
  • 能够为合并拉取请求执行签核和审查评分
  • 问题跟踪器、文档和发布管理
  • 为存储库活动提供电子邮件通知
  • 能够跨不同的 Pagure 实例进行同步
  • 完全“像自由一样自由”
  • …和更多!

但是,Pagure 提供了一些额外的功能:

  • 所有问题和拉取请求跟踪器元数据都可作为侧 git 存储库使用,以实现可追溯性和可移植性
  • 文档也作为辅助 git 存储库进行管理,可通过 Web 子文件夹或与项目内联使用
  • 完全可扩展的 web-hooks 系统,每个项目可选使用

托管您自己的 git forge

Pagure 使您能够设置自己的托管项目服务。 该服务开销低,并且依赖于其他免费软件,您可以在 Fedora 和其他 Linux 发行版; 以及用于 RHEL、CentOS 和其他衍生产品的 EPEL 存储库。

项目文件 将帮助您开始设置 Pagure。 您可以使用普通工具从受支持的基于 RPM 的发行版安装,也可以使用源代码进行设置。 提供了两种方法的说明。

Pagure 已用于 Fedora 已经生产了几个月。 但是,刚刚达到了一个重要的里程碑:1.0 版本。 这第一个主要版本带来了一个全新的用户界面,这要归功于 瑞恩·勒奇设计师在 Fedora 工程团队。

使用 Pagure 与 Github 等其他服务仅略有不同。 Pagure 假设项目是协作的,因此它们没有命名空间。 另一方面,分叉是命名空间的,使上游仓库清晰。 但是,fork 上游 repo、进行更改和发出拉取请求的方法是相同的。 其他 git forge 服务的用户立即使用 Pagure 应该没有问题。

帕格的未来

Pagure 的开发仍在继续,许多人正在修复。 一些未来的功能包括:

  • 能够应用自己的主题
  • 将存储库数据同步到 Github 等其他服务
  • 支持个人项目的命名空间并不意味着被分叉
  • 邮件列表支持项目,例如通过 Mailman 3

对于具有轻度到中度 Python 经验的人来说,该代码易于阅读和理解。 欢迎投稿者查看 问题清单 并参与其中。 要提供补丁,只需在 Pagure 中分叉代码,克隆您的分叉存储库,提交并推送修复,然后在 Pagure 中提交拉取请求。

图片礼貌 第 4 次最初发布到 弗里克 作为 寄居蟹