Crucible 是什么?
Crucible 是 Atlassian 推出的一款面向企业团队的本地部署(on-premise)协作式代码审查工具。它促进了对源代码的深度同行评审,使开发人员能够在代码合并之前发现缺陷、讨论变更和分享知识。与许多Git平台中的轻量级拉取请求(pull request)模型不同,Crucible 提供了一个更正式、结构化和可审计的审查流程。它与包括 Git、Subversion (SVN)、Perforce 和 CVS 在内的多种版本控制系统集成。
重要提示: Atlassian 已停止销售 Crucible 的新许可证。虽然现有客户仍可获得支持,但新用户被鼓励探索像 Bitbucket 这样的替代方案来满足代码审查需求。
主要功能
- 正式的审查工作流: 创建结构化的审查,指定作者、审查者和主持人,确保流程的彻底性和合规性。
- 广泛的SCM支持: 与现代和传统的版本控制系统(如Git、Subversion (SVN)、Mercurial和Perforce)无缝集成。
- 内联讨论: 直接在代码行上添加评论,创建跟踪反馈和解决方案的线程式对话。
- Jira 集成: 只需单击一下,即可将代码审查评论转换为 Jira Software 问题,并随着审查的进展自动更新问题状态。
- 审计追踪: 维护所有审查活动的完整、可审计的历史记录,这对于受监管行业的合规性和质量保证至关重要。
- Fisheye 集成: 与 Atlassian Fisheye 结合使用,以浏览、搜索和可视化您所有仓库中的变更集。
使用场景
- 企业代码质量: 被需要正式、可审计的代码审查流程以维持高标准的大型组织使用。
- 法规遵从: 非常适合那些必须对代码变更和批准进行完整审计追踪的行业(如金融、医疗和汽车)。
- 支持遗留系统: 为仍在使用像 SVN 或 Perforce 这样的集中式版本控制系统的团队提供了强大的审查解决方案。
- 知识共享: 促进对复杂代码的详细讨论,有助于指导初级开发人员并在团队中传播领域知识。
入门指南
由于 Crucible 是一个企业级工具,其“Hello World”更多地是关于审查工作流,而不是一个代码片段。以下是典型流程:
- 创建审查: 提交代码后,开发人员从他们的 IDE、命令行或 Crucible Web UI 发起审查。他们选择要审查的提交或分支。
- 分配审查者: 作者将一个或多个团队成员添加为审查者。
- 进行审查: 审查者检查代码差异(diffs),添加内联评论、问题和建议。Crucible 会跟踪已读和新增的内容。
// 审查者可能在 Crucible 中留下的评论示例: // @reviewer: "这部分逻辑似乎与 `calculate_totals` 函数中的内容重复了。我们能重构并复用它吗?" - 迭代和更新: 作者回应评论,推送新代码以解决反馈,并将其添加到审查中。
- 关闭审查: 一旦所有审查者都满意并批准了更改,作者或主持人会总结结果并关闭审查,将其标记为完成。
定价
Crucible 过去以本地服务器的永久许可证形式出售。然而,自2024年2月起,Atlassian 已停止销售新的许可证。现有客户可以继续购买维护和支持。新客户则被引导至