赢得自定义新的遗物弹球机!只需将数据书呆子提交以注册Futureestack。 现在注册

GEP团队如何用新的遗物监控其代码开发管道

7分钟阅读

在新的遗物中,我们鼓励我们的客户扩展我们的平台并真正自己制作新的遗物。这正是一个工程团队的究竟是什么GEP.在参加演示后做了测量你的最佳实践代码管道,由新的遗物高级解决方案顾问Eric Mittelhammer,最近Futureestack.事件。GEP的团队回到了他们新泽西办公室的家,渴望将新的遗物放入监控其代码开发生命周期。

采购技术和服务领导者GEP提供战略,软件和托管服务,以帮助企业采购和供应链专业人员转变并为其业务创造价值。聪明的gep.- 在本案例研究中,GEP团队的重点是云本地端到端的软件平台,旨在简化采购过程的所有方面。

在Futureestack演示文稿之后(也可以作为网络研讨会),通过GEP工程团队智能构建了自己的自定义测量解决方案的概念证明,使用了示例代码来自演示文稿。该团队希望衡量六个关键指标:

  1. 基于产品提交
  2. 基于分支的提交(开发/释放/修补程序)
  3. 每个用户提交
  4. 每个提交修改的文件
  5. 犯罪比较
  6. 代码行已更改

绘制新遗物代码管道示例

最佳做法测量你的代码管道它的示例代码依赖于一些服务亚马逊网络服务(AWS), 包括AWS Codepipeline.-an自动连续送货服务 - 和AWS lambda.职能。当开发人员推送代码GitHub.,Webhook通知Codepipine,然后标记提交,并踢掉测试或部署代码。标签,测试或部署触发了格式化的Lambda函数并将CodePipineLine数据发送到新的遗物洞察API。从那里,开发人员可以运行新的遗物查询语言(NRQL)查询可视化a中的数据新的遗物见解仪表盘。此外,当开发人员使得初始推送到GitHub时,单独的WebHook将推送事件发送到Lambda函数,使得并将数据发送到Insights API。

新的遗物示例代码测量管道。Lambda函数格式并通过Insights API将CodePipine数据发送到新遗物。
新的遗物示例代码测量管道。Lambda函数格式并通过Insights API将CodePipine数据发送到新遗物。

通过GEP团队使用智能微软Azure.而不是AWS,但随着新的遗物专家顾问的帮助,该团队在Azure中创建了一个等价的管道。


通过GEP团队的代码流水线智能使用Azure函数将数据发送到新的遗物。

团队创建了消耗GitHub Webhook的Azure函数。当他们推动提交到他们的repo时,webhook触发了一个Azure函数,它将数据格式化并将数据发送到Insights API。然后,团队运行NRQL查询以创建其可视化,就像在原始示例中一样。

在构建其代码测量管道之后,该团队审查了他们收集的指标。球队github提交仪表板(如下所示)展示了应用程序代码的整体视图,该视图是从其GitHub存储库收集的。仪表板为团队提供了它们所做的所有代码更改的整体视图,它允许它们跟踪这些更改,因为代码通过开发生命周期 - 从开发到发布分支。


GitHub提交仪表板揭示了有关GEP团队代码管道的多种信息。(修改的图像以保护专有信息。)

让我们仔细看看GEP团队的一些特定指标,并通过其新的概念解决方案证明来衡量。

开发人员如何度过时间?

当您衡量您的开发实践的价值时,重要的是要理解您将重点努力的努力。小部件喜欢github由用户提交总特征分支帮助团队确定特定分支的哪个用户提交的代码。钻取,团队可以看到该分支上已修改哪些文件,用户编写了哪些代码行。与之每分支提交图表,团队可以看到他们致力于研究已经发布的代码的时间。


聪明的GEP团队评论每分支机构的提交,深入了解提交详细信息。(修改的图像以保护专有信息。)

开发人员有多少?

当您的目标是提高团队效率时,一个捕获团队代码生命周期的仪表板是宝贵的。例如,GEP团队的工程管理人员使用每分支提交图表了解哪些分支机构的特定开发人员关注以及如何有效开发人员。如果开发人员在释放或修补程序分支中花费时间,则管理器使用这表明在进入生产之前可能无法有效地开发或测试代码。


GEP团队的智能使用仪表板探索开发人员效率。(修改的图像以保护专有信息。)

开发人员修改的文件是什么?

当你的准则审查并不有意义,开发人员可能会错过错误 - 当那些错误的代码在生产中,开发人员然后必须花时间修理代码而不是开发新功能。对于团队来说,限制每个提交的文件修改的数量是确定他们提交的代码的运行状况的重要指标。修改提交中的文件较少,为更有意义的代码介绍和更可预测的开发生命周期。相反,提交的修改太多建议代码没有正确审核 - 它可以在未来某些时候容易地结束修补程序分支。


跟踪文件修改有助于通过GEP团队跟踪其代码的质量。(修改的图像以保护专有信息。)

该团队使用文件修改代码线图表跟踪他们推动到生产的代码的质量。如上所述,他们可以使用相同的图表来跟踪开发人员努力等度量;例如,如果在修补程序分支上的修复只需要几行代码,则该团队可以假设开发人员需要更少的努力来解决代码中发生的任何问题。

打击“分支恐怖”

当可视化时,Git分支类似树枝,有时,这些分支需要仔细修剪。该团队希望消除“分支恐怖”的可能性 - 制造它尽可能简单地通过其存储库中的所有分支机构和代码版本进行导航和跟踪更改。减少分支机构的数量,团队决定,将加快他们的发展过程并改善其代码健康指标。


减少团队回购中的分支机构的数量是一个重要的胜利。(修改的图像以保护专有信息。)

可视化团队仪表板中的这些分支问题帮助他们通过自己的“分支恐怖”来实现术语来减少未使用的分支的数量。

证明代码管道测量最佳实践的价值

github提交仪表板成功地作为团队的验证 - 允许它们降低低效的代码实践。该团队与全球其他GEP工程师分享了他们的集成和仪表板,他们继续使用新的遗物推动更好的代码管道实践。

跟踪GitHub由用户提交,通过提交修改的文件,或企业回购中未使用的分支的数量可能不是新遗物的标准用例,但此事实实际上说明了新的遗物平台的多功能性。除了这种创新应用之外,能够利用NRQL,新的遗物洞察力和自定义仪表板的数据 - 并使用此数据执行高级分析 - 允许开发人员以新的和宝贵方向进行监测和分析实践。