
作为GitHub Universe的一部分,我分享了一些数字,这些数字提供了一个窗口,让我们了解我们的工程和安全团队每天代表我们的社区、客户和 Hubbers 所做的工作。作为一个热爱数据的人,看到我们如何大规模运营 GitHub 不仅很有趣,而且看到这项工作如何有助于我们实现成为所有开发人员之家的愿景——包括我们自己的工程和安全团队——也很有意义。
在过去一年中,GitHub 员工在我们所有的内部存储库中进行了数百万次提交。那是大量的分支、拉取请求、问题等等。我们每天处理数十亿个 API 请求。我们在支持 GitHub 服务的内部应用程序中运行了数万个生产部署。
GitHub 很大。但现实是,无论规模如何,我们都在处理相同的问题。这些问题归结为如何优化生产力、协作,当然还有安全性。

必须输入三次“GitHub”才能进入单体。那么,让我们看看我们在GitHub(一)是如何使用GitHub(二)构建所依赖的GitHub(三)的。
生产率
GitHub 的云驱动体验,即 Codespaces 和 GitHub Copilot,在过去几年中对我们来说是两个最大的游戏规则改变者。

代码空间
在过去的十年里,并没有太大的发展,这已经不是什么秘密了。github/github 存储库(在 GitHub.com 上的大部分内容都存放在这里)相当大,即使在良好的网络连接下也需要几分钟才能克隆。将其与设置依赖项和按照您喜欢的方式获取环境相结合,启动本地环境过去需要 45 分钟才能从结帐到构建本地开发人员环境。
但是现在,有了 Codespaces,只需点击几下,不到 60 秒后,就可以在比我每天使用的 MacBook 更快的硬件上运行一个工作开发环境。
GitHub 副驾驶
我们在内部使用 GitHub Copilot 已经一年多了,它每天对我来说仍然感觉很神奇。我们最近发布了一项研究,研究了两组开发人员的 GitHub Copilot 性能——一组使用 GitHub Copilot,另一组不使用。不出所料,使用 GitHub Copilot 的小组完成相同任务的速度比没有使用 GitHub Copilot 的小组快 55%。
更快地完成工作固然很棒,但数据还提供了对开发人员满意度的令人难以置信的洞察力。近四分之三的受访开发人员表示,GitHub Copilot 帮助他们保持顺畅,将更多时间专注于工作中有趣的部分。上一次获得更加热爱工作的经历是什么时候?这是将开发人员放在首位的一个令人难以置信的例子,它完全改变了我们在 GitHub 上构建的方式。
合作
在 GitHub,我们是远程优先的,我们拥有高度分散的团队,因此我们优先考虑可发现性以及我们如何让团队在我们的工作中保持最新状态。这就是问题和项目等工具发挥作用的地方。它们使我们能够在紧挨着我们正在处理的代码的集中位置进行计划、跟踪和协作。

在我们的安全团队中整合项目使我们不仅可以更轻松地跟踪我们的工作,还可以帮助人们了解他们的工作如何适应公司更广泛的使命并支持我们的客户。
Projects 为我们提供了工作的全局视图,但是对于另一个团队正在构建的文件、功能或新功能的更具战术性的发现呢?当在15 年前一个庞大的代码库上工作时(GitHub),有时需要找到在加入公司之前就写得很好的代码。
因此,我们采用了新的代码搜索和代码视图,这有助于我们的开发人员快速找到他们需要的东西,而不会降低速度。这种改进的可发现性,以及问题和项目提供的增强的组织,在我们如何能够跨团队协作方面对我们的团队产生了巨大的影响。
左移安全

正如我们在查看本地开发环境时所看到的那样,安全行业仍在为困扰我们十多年的同样问题而苦苦挣扎。例如,暴露的凭据仍然是当今超过一半数据泄露的根本原因2。网络钓鱼仍然是对手进入组织并造成严重破坏的最好、最便宜的方式。我们仍在恳求组织实施多因素身份验证,以阻止不良行为者使用最基本的技术。
是时候将安全性构建到我们在整个开发人员生命周期中所做的每一件事中了。
软件供应链始于开发人员。规范强身份验证的使用是我们开源之家 GitHub 帮助保护整个生态系统免受供应链攻击的最重要方式之一。我们为内部开发人员强制使用安全密钥进行多因素身份验证,我们要求每个在 GitHub.com 上贡献软件的开发人员在明年年底前启用 2FA 。我们将安全和工程团队联系得越紧密,我们可以共同创造更好的成果和安全体验。
我们这样做的另一种方法是使用 CodeQL 等工具扩展我们安全团队的知识,以创建为所有开发人员部署的检查,从而保护我们所有的用户。由于 CodeQL 查询是开源的,因此 GitHub 上的安全团队或我们的客户共享的漏洞模式最终会成为 CodeQL 查询,然后可供所有人使用。这就像是开发人员和安全社区中安全知识的全球力量倍增器。
安全不应该成为您团队发货的门槛。这应该是使他们能够快速交付的过程——还记得我们每天数百次的生产部署吗?——并且充满信心。
大、小或介于两者之间
GitHub 与其他任何开发团队具有相同的优先级。
无论是否像我们一样每天处理数十亿个 API 请求,或者是否刚刚开始下一个将向世界推出的想法,都没有关系。
这些只是去年我们使用 GitHub 安全地构建我们自己的平台并改善我们自己的开发人员体验的几种方式,不仅是为了提高生产力、协作性和安全性,而且是为了发挥创造力,更快乐,并打造我们最好的工作方式。
原文链接:https://github.blog/2022-12-20-how-we-use-github-to-be-more-productive-collaborative-and-secure/