赞扬持续部署:WordPress.com的故事

前几天,我们通过了25000号产品发布WordPress.com网站.这意味着我们已经平均每天发布16个产品,过去四年半的每一天!这是怎么可能的,为什么我们要以这种方式发布软件?

发布产品是公司所做的最难的事情之一。大多数公司花费数月的时间来确保产品发布时一切正常,包括功能正确、营销准备就绪、媒体准备就绪、产品可靠等等。但新一代公司的做法却大不相同。他们不是优化产品发布以尽可能完美,而是优化以尽可能快地完成。

让我们比较一下:

#1优化以实现完美:仔细分析和规划功能,与各利益相关者在多个阶段审查进展,多个开发和测试周期,仔细规划和协调发布日期。结果:产品每隔几个月发布一次。

#2速度优化:功能被分解成尽可能小的部分,代码被逐步开发、测试和发布,发布日期是可变的,产品可以在几秒钟内更新。结果:产品持续放行。新出现的术语是持续部署.

人们会告诉你,当你的产品团队很小,你只有几个客户时,很容易做到快速,但当你成长时,你需要制定适当的产品开发流程,这将减缓速度,但有助于防止混乱。我们的目标之一是自动化就是要证明这一特定的传统智慧是错误的。为此,随着团队和客户群的增长,我们继续投资于高速产品发布。我们是这样做的:

我们公司中的每个人都可以访问一个部署按钮,该按钮将最新的签入代码发布到我们web层中大约400台生产服务器上不到30秒(跨3个数据中心)。部署基于SVN公司并针对快速原子更新和还原进行了优化。每个开发人员都有一个沙箱测试环境(运行在氙气虚拟机)并访问详细的调试工具,这些工具按博客主题、语言和数据中心显示内存使用情况、查询和页面生成时间。我们针对实时生产数据库进行开发,这是可能的,因为每个博客都有自己的一组表。

此设置允许我们轻松快速地发布生产代码。在繁忙的一天里,我们发布了几十个版本,我们已经组织了公司的其他部分,以跟上这一步伐。例如,我们使用WordPress(当然)来支持我们的支持系统,该系统允许公司中的任何人当场为新功能编写或调整支持文档。同样,我们只在WordPress.com新闻博客上发布更新。新功能背后的负责人撰写博客文章,并与产品发布一起发布。我们还开发了一个分阶段发布系统,允许我们向站点发布新代码,但只能让公司内部人员看到。这有助于那些需要额外测试、文档或营销支持的功能。

在描述这个模型时,我通常会遇到的问题是,它永远不会起作用,因为事情会按比例破裂。相反,WordPress.com规模巨大(每月有2.5亿独立访问者),为数百万出版商(包括世界上一些最大的媒体品牌)运行博客,拥有业界领先的正常运行时间记录,并继续快速创新和发展。

以下是连续部署模型有效的5个原因,您应该为您的公司尝试一下:

  1. 您将更加敏捷:快速推送代码意味着您可以快速启动功能,但更重要的是,您还可以快速修复问题。通过将修复错误的成本从几天降低到几秒钟,您可以降低对犯错的恐惧,从而提高产品开发速度。
  2. 产品人员会喜欢你:你认为什么对一个优秀的产品开发人员更有吸引力:一个为期6个月的产品开发、调整和论证过程,还是每天在客户面前获得新想法的方法?如果您能够将即时结果的兴奋感与接触大量客户的满意度结合起来,那么您就创造了一个非常吸引人的产品开发环境。
  3. 客户喜欢动力:持续产品部署的一个令人惊讶的结果是,用户想要一个完美的产品而不容忍缺陷的旧想法是错误的(至少在网络上是这样)。事实证明,如果用户知道缺陷会很快得到修复,他们就会原谅这些缺陷。如果每隔几天以固定的速度出现新功能,而不是每隔6个月就发布一次巨大的新产品,他们往往会更喜欢新功能。
  4. 不再有守门人:对产品完美性的追求导致公司创建了许多产品发布前必须通过的关卡——用户研究、UI签署、法律审查、高管批准、QA测试、支持培训等等。通过使产品发布大大缩短和更快,这些大门要么消失,要么重新组织,以变得更灵活。例如,为今天推出的一个新功能编写支持文档要比计划在一个大版本中推出数十或数百个更改的支持容易得多。
  5. 营销人员会,嗯,恨你:好吧,这并不是一个积极的方面。也许是这样。营销和公关人员(可能还有律师)往往不喜欢持续部署的概念。他们被训练将许多新功能打包成一个大型发布,通过精心策划的媒体和合作伙伴推出,向世界展示,旨在打破日常干扰的噪音。每天发布16个产品根本不适合这种模式。好消息是营销可以适应。持续的部署可能会导致成千上万的客户和博客不断地聊天,这最终会变得非常有价值,可能比你每6个月在大报纸上发表一篇文章还要有价值。

当需要一段时间来打包和分发软件并让每个人升级时,长达一个月的产品发布周期是有意义的。在网络上,打包和运输软件可以在几秒钟内完成,下次有人重新加载您的网站时,升级是自动的。这使得从根本上改变软件部署模型成为可能,从精心规划和测试的偶尔发布,到整天将新软件推送到网站。我想提交WordPress.com作为一个例子,说明如何成功地扩展这个新模型,希望更多的公司会尝试并接受它。

我见过其他快速成长的网络初创公司,比如社交节目使用持续部署取得了巨大成功,如果您知道其他示例,请留下评论。

进一步阅读:埃里克·里斯几个深度帖子关于持续部署模型。


评论

81条对“赞扬持续部署:WordPress.com故事”的回应

  1. 对我来说,这篇文章最棒的地方并不是这里解释的方法(这本身很酷),而是一个事实,即一家技术含量极高的公司的(据说)非技术型CEO可以详细解释这种方法的方式和原因,从而为这一主题提供了另一种解释——其他CEO都会听,当他们经常没有注意到自己技术顾问的声音时。

    因此,祝贺托尼发表这篇文章,希望它能给其他公司敲响警钟🙂

  2. 谢谢你发这个,托尼。这个想法并不像很多人想象的那样激进。

    作为负责相当大的站点(Flickr和Etsy)的运营的人,我最感兴趣的是尽可能频繁地部署小型站点。一旦这种方法实际上对可用性有好处的秘密浮出水面,世界就会不同。🙂

  3. 我对这个评论进行了持续部署,并在提交之前重写了14次。

    1. 杰出的🙂

    2. 如果你掌握了这个概念,那么每次你做出新的改变时,你都会发表评论。

  4. 写得很好。我希望其他CEO和经理能理解并意识到犯错误是件好事。

  5. 很好的解释。我认为WordPress就是一个成功模式的例子。我当然被出卖了。

  6. 完全同意。在SlideShare上,我们一直在发布代码,而不是进行大规模发布。除了托尼描述的所有好处外,它还降低了风险。因为我们每次都会进行一些小的更改,所以如果它中断了,我们就会知道它是什么,并可以回滚。

  7. […]这是WordPress.com的故事[…]

  8. “这意味着在过去四年半的时间里,我们每天平均发布16个产品!”难以置信。AddToAny是一个非常小的团队,在过去4年多的时间里平均每周发布一次。当然,它主要是一个小部件,因此需要比其他平台和应用程序更多的QA,尽管我有一部分非常嫉妒。🙂

    干杯,继续加油。如果你确实预见到了理论上的转折点,请开导一下,但似乎只要你的公司DNA完好无损,就可以继续部署。

  9. 我喜欢快速修复缺陷。我每天都在WordPress上看到变化,我喜欢它们。我认为它很有创意,每天都有新的想法。

  10. 只要你没有在持续部署中突然发布一个大的更改,这是有意义的。每个人都喜欢持续发展,它显示了产品背后的活动。可以对Gmail和雅虎邮件进行比较。Gmail的实验室功能显示了雅虎似乎早已消亡的持续发展。另一端的Hotmail仍在遵循旧的封闭心态。无论是哪种情况,我最终建议的是,你可以成为Gmail,但你不想发布Buzz。

  11. […]持续部署对WordPress.com成功创业的重要性:http://toni.org/2010/05/19/inpresse-of-continous-deployment-the-wordpress-com-story/var a2a_config=a2a-config |{};a2a_config.linkname=“赞扬持续部署[…]

  12. 有什么线索可以告诉我们如何进行新的熨烫吗?我有太多的东西要分享,所以拼命寻找出路。

    lifeafteright.wordpress.com上的样品

    1. 嗨,梅维斯,看看http://editor.wordpress.com/

  13. 你好,托尼,

    读得好。您觉得持续部署在开源方面有何不同?也许你使用WordPress.org遵循不同的实践。

    @托尔

    1. WordPress.org每年发布三次官方新闻。还有一个称为Trunk的版本,它会随着最新的开发更改不断更新。有些人在博客上运行Trunk以获取最新功能并帮助调试软件,但绝大多数人都在等待重大升级。

      1. 的确。我们对许多WordPress项目进行了持续部署,其中有多个项目在新的.org版本发布之前运行主干,以引入网站开发所需的功能。

        写得很好。谢谢。

  14. […]我读了托尼·谢德(Tony Scheider)的《赞扬持续部署:WordPress.com的故事》(The continuous deployment:The WordPress.com),读了这些数字后,我对工作人员说了一句非常感谢的话

  15. […]赞扬持续部署:WordPress.com故事|toni.org(标签:continuous.deployment agile lean management)[…]

  16. 显然,这种更为“改变-改变-改变”的方法适合大多数人。我希望我是一个少数人,学习诀窍很困难,但努力克服,尽可能抑制愤怒,期望一旦学会,我个人想要使用的点击将成为熟悉的老朋友。不幸的是,情况并非如此。一些年轻天才“改进”了设置。

    我现在很难为侧边栏编辑和插入新的链接小部件。旧的拖放新小部件的系统比新的分配数字过程要好得多。幸运的是,我和我的sumpnado博客都是老生常谈。我在学校的作文也是如此。所以我不在乎。我意识到了这一点。不,说真的。我不是在谦虚。哦,你知道…

    1. >旧的拖放新小部件的系统要好得多

      新版本的小部件仍然具有拖放功能。听起来您可能在浏览器中关闭了javascript(这将禁用小部件的拖放)?请随时联系WordPress.com支持人员以帮助您。

    2. 我在博客上写了4½几年前大约改进而非改变作为对一家公司声明的回应,“我们致力于持续改进,而不是持续剧烈变化。”几十年来,我一直认为这种情绪非常有道理。

      实践持续集成,以及最近的部署,使这种区分的必要性更加明确和紧迫。如果你不知道发生了什么变化,你不能找到并修复发生故障的地方。对于许多人和团队来说,将工业纪律应用于迄今为止的工艺流程是一件困难的事情。我们要么进化,要么死亡。

  17. 好文章,托尼。自1995年成立以来,我们一直在Plex进行持续部署。2003年,我们用自己的“部署”按钮正式确定了这个过程,在不到两年的时间里达到了25000个部署点。我们目前每天平均部署50-100个大型在线ERP系统。

    我们也遇到了“当你变得更大时,你必须改变”的论点。但是,有700万行代码,每月有26亿次点击,每天处理400 TB的数据,我们觉得我们已经证明了这个论点是错误的。这需要一种完全不同的心态(更不用说能够应对变化速度和相关压力的开发人员),许多软件公司根本无法胜任这项任务。但我相信,随着时间的推移,这将越来越成为常态。

    由于您已经给出的所有原因,持续部署不仅使我们受益,而且还使我们相对于竞争对手具有明显的竞争优势,其中许多竞争对手比我们大得多。我们能够部署更改、修复错误并改进产品,其速度与笨重的竞争对手不相上下。

    我可以一整天,但你已经画了一幅很棒的画,我不想闲逛。🙂

    顺便说一句,我们有一个很棒的营销副总裁,他很爱我们。你只需要找到合适的人来适应,并实际利用变化为我们带来的优势,这一点我们显然做到了。

  18. 很棒的文章!有时,律师们可能有理由不希望发布功能(想想:潜在的责任),但让他们尽早参与到这个过程中,并让他们教育(从而授权)开发人员有关这个问题的知识,如果不能解决这个问题,那就应该更加盲目。

    一个能为流程增加价值的优秀营销人员也会喜欢它。如果营销人员对门控模型的安全性有所顾虑,则应重新培训或将其引导至旋转门🙂

  19. 克里斯·列侬阿凡达
    克里斯·列侬

    我是一家SaaS软件公司的产品经理,一直在努力改进我们对客户的交付。我们每月发布一次,现在看来这是我们目前的最佳选择。我几乎同意你所说的所有内容,但我有几个问题:

    1.根据客户是否为产品付款,您是否知道或期望不同的客户期望?我们向客户收费,所以我认为他们对缺陷的容忍度会降低。你说,“通过将修复错误的成本从几天降低到几秒钟,你可以降低对犯错的恐惧,从而提高产品开发速度。”这很好,但它也会增加你在实际产品中引入更多缺陷的风险。别误会我,我对我们的产品没有缺陷没有任何幻想,但我不想在介绍它们时更加松懈,我想在发布之前更加努力地找到它们。

    2.在连续部署模型中,产品经理的角色会发生很大变化吗?我们现在是敏捷的,我只是想知道你是否看到产品经理的角色很少参与开发过程,甚至更多。试着在开发新功能时保持领先、解决缺陷以及定义产品应该如何工作与研究、贸易展览、,以及更多的战略规划。你有什么想法?

    即使是每月发布的版本,我们也发现了一件有趣的事情:我们面向客户的员工很难跟上变化的步伐,当客户启动使用某个功能的驱动时,他们最终会陷入混乱。我认为我们有很多方法可以改进这一点,这可能与我们的发布周期无关,而更多地与我们培训和沟通更改的能力有关。

    我很感激任何人的洞察力。

    1. 好问题。

      在#1上,我们有付费客户,似乎公司正在成功地为免费和付费客户使用连续部署。

      >这很好,但它也会增加您在实际产品中引入更多缺陷的风险

      我一开始也很担心这一点,但事实并非如此。所有代码都有错误。持续部署的关键是推出少量代码增量。通过减少新代码行数,实际上可以减少每个版本中的错误数。此外,快速部署导致快速反馈和快速恢复,这两者都有助于处理缺陷。

      关于#2,我确实认为产品主管或经理的角色发生了变化。该模型较少受长期路线图的驱动,更多的是受每日和每周增量的驱动。一个关键部分是产品负责人/经理能够将项目分解为小任务,并按照正确的顺序将其分配给正确的人,同时密切关注产品发展的大局。

      1. 帕布阿凡达
        普拉布

        有业务支持功能,还有业务关键功能。虽然业务支持功能中的缺陷是可以容忍的,但业务关键功能中的一个缺陷可能会让您少花钱。此外,托管一个网站(执行上述两种功能之一)必然会带来一系列系统无法容忍的安全和性能漏洞。我们目前的问题不仅在于这些变量的自动化,还在于保持这些检查的最新性。我知道没有一种简单的方法可以做到这一点。在NFR(显然是R)测试中加强自动化。说起来容易做起来难🙁 WordPress是如何做到这一点的?

    2. 尤瓦尔·利维阿凡达
      尤瓦尔·利维

      >我们向客户收费,所以我认为他们会

      >缺陷容忍度较低

      不幸的是,现在的客户似乎比过去更能容忍缺陷。看看所有召回事件,例如汽车行业。在软件行业,收缩包装的专有软件的质量大幅下降,而且IMHO比WordPress更差。Adobe Photoshop中的错误需要很长时间才能修复。如果它们完全固定…

  20. 我喜欢持续部署的地方是它允许在用户端进行增量更改。

    我讨厌“大规模更改”的地方是,您突然之间出现了“大规模不兼容”,例如,人们会向您发送计算机无法读取的docx文件,或者所有界面都发生了变化,以至于您到处找东西。(如果是一辆汽车,你可能需要花一两天时间在停车场周围开车,才能掌握新车型的窍门。)

    持续部署感觉就像是变革与稳定的最佳体现。

  21. […]在他的文章“赞扬持续部署:WordPress.com的故事”中,Toni Schneider提出了与我在内部咨询客户时一样的观点[…]

  22. […] […]

  23. 谢谢你的来信托尼。从技术角度来看,分阶段发布过程是如何工作的?也许某个工程师可以写一篇关于它的帖子?我想了解更多。

  24. […]在软件开发中快速发布并经常发布,那么你真的需要看看WordPress.com的持续部署策略。他们平均发布16个产品[…]

  25. Sumit阿凡达
    苏米特

    写得好!谢谢

  26. 确实很有趣。我感兴趣的是:你如何处理那些整体上没有在一天或一天的片段中编程的功能?你是在那些有分支的地方工作,不断向前合并,还是仅仅因为你不再那样“思考”?

    1. 问得好。对于较大的功能,我们尝试将其分解为较小的部分,并在过程中发布这些功能。持续部署并不意味着所有东西都必须在一天内编码和发布,只是要在准备好后尽快发布,而不是每隔几个月就将大量功能保存到一个大型发布中。也就是说,我们仍在努力提高我们的项目管理技能,以更好地规划和记录更大的功能(没有引入可怕的“它不在规范中,所以我们无法工作”障碍)。

  27. […]shanselman WordPress如何开发软件“持续部署”。他们每天发布16次新版本。http://toni.org/2010/05/19/inpresse-of-continous-deployment-the-wordpress-com-story/[…]

  28. […]Schneider,首席执行官d‘Automattic nous donne les clés qui ont fait and qui font le succès de WordPress。《每日邮报》评论sont gérés les projets et[…]

  29. Toni,作为一名软件财务人员(作为一名生活在SOX404/SAS70控制世界要求下的CFO),我对您的评论的第一反应是“在业务关键型应用程序领域,这永远不会发生,因为业务控制必须是不妥协的。”然而,当我想到我的软件开发经验时,有了正确的原则和可能的特定审查/控制关卡,您的方法不仅克服了ERP解决方案中遇到的诸多障碍,而且还创造了一种思维转变和文化转变,这种转变远远超出了我所能提出的风险或问题。感谢分享这一方法——我将在内部向我们的投资组合公司分发这一方法,以缩短发布周期,并认为“越小越快越好”。

  30. Joe Chen阿凡达
    Joe Chen(乔·陈)

    你能从SVN分享更多关于部署过程的信息吗?你给释放贴标签了吗?出现错误时如何恢复?

  31. 写得好。我想知道以下问题的答案:

    这里没有明确提到数据库模式更改。我很感兴趣的是,考虑到您的分区策略,您是如何处理这个问题的?

    您实际使用什么软件进行代码部署?(在开放源码的荒野中,有任何一个是可用的吗?)

  32. 定点。我们在Gotootie(www.gotootie.com)几乎每小时发布一次更新。这很容易,也很可能,因为我们还是一家小公司。柯达要求wordpress简化并建立发布频繁更新的流程。印象深刻。

    1. 尊敬的Himanshu:,

      好的,我们将在这里进行快速排印修复发布……“Kodus to wordpress for…”应该是“Godos to wordpress for…”🙂

      基思

  33. [……]公司依赖于能够每天快速轻松地发布。持续部署本身可能无法提高质量;但它提高了你对[…]的反应能力

  34. 赞扬持续部署:WordPress.com的故事…

    ……代码是逐步开发、测试和发布的,发布日期是可变的,产品可以在几秒钟内更新。结果:产品持续发布……

  35. 在bixbe.com上,我们一安装任何东西就自动部署最新的签入代码,因此根本没有安全网。使用这种方法,我们每天进行10-30次部署。这是一种快速行动的高效方式。

    不过,我们仍然保留“beta”功能的概念。它们有点模仿谷歌实验室(GoogleLabs)——用户帐户可以打开或关闭的可选代码。这使我们能够在有限的曝光范围内推出新功能,并避免干扰核心用户流。

    哑光

  36. 作为营销团队的一员(我为最后一位评论员Matt Trifiro工作),我不得不说,速度和敏捷的好处远远超过任何营销混乱。我很幸运被那些认为光速是正常的人训练。所以我开发了一套防鞭打的盔甲和一种“戴上马鞍,姐姐”的态度。这是一个伟大的时刻。我从来没有这么开心过。

  37. [……]历史上,通过推出新版本来进行文字新闻测试。你可以想象,这需要花费大量资源,而且远远没有达到有效或令人满意的效果。据说wordpress.com有某种基于SVN的推出。[…]

  38. 不到一个月前,Automatic首席执行官托尼·施奈德(Toni Schneider)在wordpress.com上热情洋溢地写道“持续部署”的使用。这是[…]吗

  39. 很好的文章,这是工作的方式。

  40. 有没有关于你们如何部署的信息包含更多的技术细节?我很想再读一遍。

  41. […]本身就是一项关键活动。Automatic首席执行官Toni Schneider报告称,WordPress.com平均每天发布16个产品。击败[…]

  42. […]我们的软件使一件事不会破坏其他一切,我们更接近于连续部署的天堂,因为我们只有一条生产线要部署[…]

  43. sdesalas阿凡达
    斯代萨拉斯

    嗨,托尼,

    谢谢你这篇很有见地的帖子。作为一名为大客户工作的应用程序开发人员,要让开发经理(有经验的人,但还是要按照他们的方式)接受像持续部署这样的概念,这通常是一个很大的障碍。希望你的声音及其涟漪效应在未来几年会有所不同。

  44. [……]除了有机会开发如此引人注目的产品外,我还一直对公司的运营方式印象深刻。[…]

  45. [……]本着这种精神,我想发布一个约翰·肯尼迪风格的挑战:到明年这个时候,我希望SUMO能够持续部署。[…]

  46. [……]一年中最繁忙的一天是5月19日,有3401人观看。那天最受欢迎的帖子是赞扬持续部署:WordPress.com的故事。[…]

  47. [……]只是没有来做这件事,因为到目前为止我没有时间。但后来我在wordpress.com上读到了Toni Schneider关于CD的这篇文章,这让我着迷了[……]

  48. 我一定会将持续部署添加到我的业务模型中。虽然我很晚才开始写这个主题的博客,但我对WordPress正在做的事情感到兴奋,并期待着与Automatic和你Toni建立业务关系。

    我还没有准备好进入创业的黄金时段,我也是一个刚刚起步的企业家。然而,现在开始建立关系似乎是合适的。

    关于True Ventures的融资机会,我应该在多早之前与您联系?

  49. […]Automatic首席执行官Toni Schneider报告称,WordPress.com平均每天发布16个产品。击败[…]

  50. 感谢你写了一篇鼓舞人心的博客。我同意其他人的回答“这就是为什么要工作”。

    作为一名测试主管,我想了解更多关于您如何使用测试和持续部署的信息。在部署之前,您会执行什么样的测试?在哪个级别(单元、功能和用户)上执行测试?我认为你的测试自动化程度很高?

  51. [……]除了有机会开发如此引人注目的产品外,我还一直对公司的运营方式印象深刻。[…]

  52. […]自动化,我们使用连续部署,平均约16个产品版本[…]

  53. […]许多科技初创公司。下面是一篇关于如何在WordPress上完成连续部署的文章:http://toni.org/2010/05/19/in-presise-of-continous-deployment-the-wordpress-com-story/评价如下:分享以下内容:TwitterFacebookLinkedInEmailPrintDiggRedditStumbleUpon喜欢这样:喜欢[…]

  54. […]什么?把事情做完很酷。Automatic2的聪明人在不断扩大部署规模方面做得很好,因此工程师可以快速开发、启动和迭代功能。[…]

  55. […]全球,一直如此。您还可以阅读我们的Automatic首席执行官Toni Schnieder的帖子,其中赞扬了Continuous Deployment,介绍了我们如何部署新功能和[…]

  56. […]一直在全球各地。您还可以阅读Automatic首席执行官Toni Schnieder的文章,赞扬持续部署,介绍我们如何部署新功能和[…]

  57. […]这里有一篇关于WordPress持续部署经验的相当好的博客文章(该博客所在的网站)。只是强调,许多公司确实在这样做。在[…]中

  58. […]本身就是一项关键活动。Automatic首席执行官Toni Schneider报告称,WordPress.com平均每天发布16个产品。击败[…]

  59. […]我有一个C#/ASP网站。NET,目前正在开发中。当我们在生产时,我想在一天中经常发布,因为我们会修复错误并添加功能(如:http://toni.org/2010/05/19/inpresse-of-continous-deployment-the-wordpress-com-story/). […]

  60. […]周(11月3日),安德鲁·菲利普斯和我在早上8点为NLJUG做了一个关于持续部署的演示。我们只期望[…]

  61. [……]直到我最近读到一些关于持续部署的内容,才意识到我们实际上一直在——呃,练习CD全部[…]

  62. […]这本书清楚地表明,这种不断发货的文化是建立在持续部署的技术架构之上的,能够在一天中发布并可能回滚多个功能[…]

  63. […]里面大约有200人。这些单位内的一切都将与现在一样。持续部署是Automatic工作方式的一部分,它有助于扩大规模:因为新想法定期推出,所以您[…]

  64. [……]大约有200人。这些单位内的一切都将与现在一样。持续部署是Automatic工作方式的一部分,它有助于扩大规模:因为新想法定期推出,所以您[…]

  65. […]Automatic的新首席执行官:关于我在Automatic从首席执行官过渡到团队领导的笔记。–赞扬持续部署:一种新的软件制作方式(从WordPress.com早期开始)开源与开源[…]

  66. […]Automatic的新首席执行官:关于我在Automatic从首席执行官过渡到团队领导的笔记。–赞扬持续部署:一种新的软件制作方式(从WordPress.com早期开始)开源与开源[…]

留下回复

从Toni.org了解更多信息

立即订阅以继续阅读并访问完整存档。

继续阅读