Atlassian是怎样进行持续交付的?(上)

转载 2016年08月09日 17:45:31

早前,Atlassian系统管理员Steve Smith在某会议上为听众展示了Atlassian是如何进行持续交付的?本文将其演讲内容进行了更为深入地探讨。具体演讲内容请点击此处查看


在实施持续交付的过程中,面临着技术与组织方面的双重挑战


实际上,在实施持续交付时总共面临着三方面的问题:有技术方面的,也有组织和管理方面的问题。


首先来谈一下技术方面的问题,这方面的问题是比较明显的。包括搭建服务器、设置机器、创建必须的脚本用于自动部署相关的变更,等等。但还有一些更微秒的挑战,会随着对深入交流的需求而渐渐浮出水面。一旦你创建了某种环境,能够实现将变更一键部署到生产环境,你就需要确保所有团队都保持灵活与开放式的沟通,而不会因为变更的节奏加快而使他们失去警惕性。Atlassian是一个高度分布式的公司,它的办公室遍及悉尼、越南、阿姆斯特丹和旧金山,传统的沟通渠道无法满足我们的需求。我们所需的沟通能力不仅能够让人们简单地进行信息交换,还能够在团队之间建立密切的关联。因此我们在这方面的技术上投入了很大精力,这些技术能够让我们实现高质量视频会议、共享图片、团队聊天等等,对于我们十分关键。


分布式团队面临的另一个问题与时区的不同有关。如果你需要与某位同事进行协作,只要你们处于同一时区,即使是身处不同的办公室,也能够很方便地进行视频会议、共享屏幕。但如果你与同事处于不同的时区,那么就需要寻找某些工具,能够帮助你进行线下协作。你可以提交一个pull请求,让同事帮你审查某个变更。但同时,为了实现这一点,需要某些工具帮助你方便地检索相关的变更,并且以一种集成的方式提交反馈。并且所有这些工具必须与其它工具进行集成,以提供一种无缝的工作流体验。


这就带来了组织方面的变更。一般来说,人们对于任何改变都是相当谨慎的。当开发者开始习惯于创新新服务的思想,那么系统管理员就会对由此带来的网络变更而感到担忧。当开发者开始部署容器化的应用(使用Docker或类似技术),系统管理员则会对于容器中可能包含的软件,以及它所带来的整体影响心存顾虑。与之类似的是,如果系统管理员要求开发者以某种特定的方式编写应用,或是对某种技术的使用进行干预,开发者也会因为缺乏自由而感到不快。只有在所有人齐心协力的前提下,持续交付才能够发挥其作用,所有团队之间必须进行合作,才能够让变更顺利地生效。


最后,我们还遇到了大量管理方面的问题。Atlassian提倡一种文化“想要寻求怎样的改变,就要身体力行”,这鼓励人们努力推动他们所期望的改变。它能够让人们打破技术壁垒,鼓励人与人之间的互动。但同时它也带来了大量的问题,例如由谁来管理风险,或者说由谁担当某种改变的最终业务负责人。Atlassian处理着大量的客户请求,因此我们必须对相关的风险加以管理,这意味着像SOX和PCI这样的制度会对我们的内部流程施加影响。我们需要适当地分配责任,对软件进行变更的人与最终将其发布到生产环境中的人必然是不同的,因此在持续交付服务中需要引入控制功能,让特定的角色能够对某个特定的检查点进行校验。


问题跟踪、版本控制(VCS)和持续集成(CI)工具的紧密集成是怎样为开发团队带来价值的?


创建一种工作流的思想非常重要。问题跟踪系统为某个特定请求过程中发生的每一件事创建了一个流程的标识符,使每个人都能够对它的状态进行从头至尾的全程跟踪。通过将问题跟踪系统与VCS和CI进行集成,提出这个ticket的人就能够看到它的任何变化:开发过程是何时开始的、问题是何时出现的,并且经过了怎样的处理、以及它是何时部署的等等。这样一来,人们就能够更好的了解相关信息,对于整个流程的满意度也更高。


这一点也为开发者带来了一种积极的副作用:因为项目干系人能够随时找到所需的信息,他们就不必再去打扰开发者、系统管理员或其它任何人。这种趋势正在得到人们的认可,举例来说,大多数云系统都提供了某种状态页面,展示了每个系统的运行状况,因此每个人都能够随时了解相关情况。


由于我们所用的问题跟踪、版本控制以及CI系统都是Atlassian自身的产品,因此它们从一开始就是紧密集成的。不过他们的相互集成是通过公开的RESTful API实现的,因此其它产品也能够通过对相关的终结点进行相应的调用而实现集成。


Steve Smith在Atlassian任职已超过8年时间,同时担任系统管理员与开发者的角色。他目前身处Atlassian的阿姆斯特丹办公室,专注于高可用性、持续交付以及平台迁移方面的问题。他还经常在公开场合进行演讲并定期更新博客,他还喜欢在 Atlassian的开发博客中讨论有关持续交付的话题。


CSDN开发服务为企业提供ALM(应用全生命周期管理)解决方案,致力于打造基于研发管理前沿、开放的工具产品集群(如Atlassian、Sonar、Jenkins等),结合CSDN CODE等研发工具的高效率、高质量和高可靠性企业级研发管理平台,为企业软件开发生命周期内各阶段、各部门、各角色提供全流程、全方位的跟踪和综合管理。截止目前,CSDN ALM解决方案已服务于包括华为、中国移动通信研究院、嘀嘀打车、广联达、招商银行、南粤银行等在内的数百家行业企业及互联网企业。


浅谈Atlassian产品搭建的敏捷管理体系(二)——Confluence使用

Confluence的使用几乎贯穿了整个敏捷过程,如:在产品设计时编写产品需求,在会议讨论时编写会议笔记,在冲刺结束后编写冲刺回顾……Confluence自身也为这些需求提供了丰富的文档模板,本文就其...
  • dyc87112
  • dyc87112
  • 2015年08月12日 12:08
  • 1719

Tid大会AgileChina讲义:Atlassian工具集在敏捷项目管理中的应用实践

  • 2014年07月29日 23:42
  • 13.67MB
  • 下载

Atlassian是怎样进行持续交付的?(下)

实际上,在我们实施持续交付时总共面临着三方面的问题:有技术方面的,也有组织和管理方面的问题。首先来谈一下技术方面的问题,这方面的问题是比较明显的。包括搭建服务器、设置机器、创建必须的脚本用于自动部署相...
  • u012046931
  • u012046931
  • 2016年08月09日 18:18
  • 1436

什么是持续交付

作者:Sam Guckenheimer Continuous Delivery (CD) is the process to build, test, configure and deploy ...
  • kasteluo
  • kasteluo
  • 2017年06月19日 09:17
  • 576

封装了DAO对象用于直接操纵access数据库 

  • 2002年09月09日 00:00
  • 401KB
  • 下载

Windows下安装Atlassian-Jira-6.0.4并破解汉化(只需2步,另附图解)

2013-07-16 21:33:53|  分类: Web Development |  标签:jira  crack  multilanguage  |举报|字号 订阅      ...
  • billfanggs
  • billfanggs
  • 2016年04月01日 14:46
  • 1508

基于Docker持续交付平台建设的实践

导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据、电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验。本文是五阿哥运维技术团队针对Docker容器技术在如...
  • kwame211
  • kwame211
  • 2017年12月07日 13:44
  • 210

高效持续交付的7大原则

持续交付不仅仅是一个很好的想法,就像每一个使用敏捷方法的人会告诉你的,它已经迅速的成为了必须品。它很重要,然而,不论是你正在将他引入到你的组织当中,还是想要优化你的持续交付方法,你都需要使用正确的持续...
  • steelren
  • steelren
  • 2017年06月09日 22:52
  • 357

JIRA+Confluence实现敏捷协同开发

  • 2015年09月22日 16:39
  • 1.65MB
  • 下载

Atlassian与DevOps 系列产品选择方案介绍

这里有一个有趣的视频:大致介绍了Atlassian家族DevOps的工具。世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益)。DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与...
  • boonya
  • boonya
  • 2017年09月08日 15:23
  • 695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Atlassian是怎样进行持续交付的?(上)
举报原因:
原因补充:

(最多只允许输入30个字)