ITADN
apache/whimsy
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Apache Whimsy 项目概述

Apache Whimsy 是一组由 ASF 和 Apache 提交者使用的有用组织工具,用于访问和操作有关 Apache 人员、项目和流程的数据。 Whimsy 既是一个 Apache PMC, 该代码库,也是 https://whimsy.apache.org/ 的实时部署实例。

ASF 的 Whimsy 实例托管静态内容、仓库检出/克隆、CGI 脚本、Rack 应用程序、Node.js 应用程序、工具和 cron 任务。 注意:访问私有 ASF 数据的功能仅限于 ASF 的提交者、成员或官员。

推送到 master 的每次提交都会在几分钟内使用 GitPubSub 部署到 https://whimsy.apache.org/。

操作指南和获取代码

Whimsy 源代码托管于: https://github.com/apache/whimsy.git 并为 Apache 提交者镜像于: https://gitbox.apache.org/repos/asf/whimsy.git

如何参与!

由于 Whimsy 托管了许多独立的工具,使在 ASF 中查找或更新信息变得更加简单,因此 Apache 提交者有很多参与的地方。 针对 Whimsy 上可用的众多 工具公共数据文件列表 的 Bug 或改进建议始终受到欢迎, 请加入我们在 Slack 上的公共 #whimsy 频道

如果您有一个新的 Whimsy 工具的想法,请给我们发邮件! PMC 支持丰富的服务器环境,因此部署新工具就像提议一个带有少量 Ruby 代码的 .cgi 一样简单。 我们还有 Rack 和 Sinatra 应用程序的部署,并在许多工具的 UI 构建中使用 JavaScript 和 Wunderbar。 Whimsy 服务器还支持直接访问 Apache SVN 或 git 仓库,使数据消费变得简单。

The Whimsy 提交者始终在寻找新想法来改进 Apache 的流程,我们可以帮助你入门,或者就几乎任何 “查找此 ASF 数据并简化该流程”的想法提出建议。

大多数文档位于代码或仓库中,且我们的 dev@whimsical 邮件列表非常活跃。 请注意,许多 Whimsy 工具会访问提交者或 成员私有数据,因此某些工具存在访问限制。

历史备注: 生产环境 whimsy.apache.org 服务器曾用于 我们成为 Apache Whimsy 顶级项目之前的前董事会议程工具及其他用途。 这就是为什么 whimsy.apache.org 是 生产服务器,而邮件列表和主页托管在 whimsical.apache.org 域名上。

Whimsy 架构 - 实时实例

Whimsy 运行在 Apache 托管的虚拟机中,包含 httpd、Rack、Ruby 以及多种其他工具, 这些工具直接与 Apache 组织记录的各个部分进行交互。

每种已部署工具或脚本的详细信息:

认证要求同样需要采用两阶段方式,如上文的 CGI 所示;但更常见的条件可以在 "Rack" 层面而非应用层面进行处理,利用 Rack 中间件,例如:

https://github.com/apache/whimsy/blob/master/lib/whimsy/asf/rack.rb#L56
  • Cron jobs 由 puppet 管理。 有关更多 信息,请参阅 deployment

  • Generated JSON data 文件会自动生成到 /public 目录中,用于 缓存 whimsy 和其他应用程序经常使用的数据。 这些 通常由调用 www/roster/public_*.rb 文件的 cron 运行。 另请参阅 数据依赖关系和流程概述

  • 许多 Whimsy 工具的 Data models 位于 lib/whimsy/asf,并且 大多数工具的 views 存储在 www。 请注意,Whimsy 拥有 各种有时互不相关的工具,因此这里 并非所有内容都使用相同的模型。