使用 DevOps Services 在云中开发应用程序

Comments

设置场景

MeterPal 是一个虚构的、由 Kickstarter 资助的创业公司,它提供了一种移动的、社会化的新的计时停车方法。Phil 和 5 位大学同学共同创立了 MeterPal。他们与 JKE Banking 达成协议,帮助 JKE Banking 处理其微支付交易。作为回报,他们参与了虚构的 Money that Matters 慈善计划。在有人支付停车计时费用时,他们可将该费用舍入为最接近的美元数,并提供给预先选择的慈善机构。

Innovationville 的市长希望部署他们的智慧计时停车解决方案。

Phil 和他的团队受到鼓舞,快速将他们的解决方案投入市场并不断获得新的用户。他们选择采用一种敏捷开发流程,其中 Phil 是产品负责人,Sarah 是项目研发管理经理。在过去,该团队主要使用白板,通过便笺来采集项目信息。他们从未找到机会采用、安装和配置一个敏捷的协作式工具来支持其开发。

在 Innovate(IBM® 在奥兰多的举行的技术峰会)期间,项目研发管理经理 Sarah 了解到了 DevOps Services (JazzHub)。她参加了一个开放的 DevOps Services 实验活动,该工具的简便性给她留下了深刻印象。

采用 DevOps Services 的团队可将精力集中在真正重要的事务上:产品开发和交付。

Sarah 知道产品负责人 Phil 有点担忧新应用程序的采用,因为 MeterPal 项目的发布日期离现在只有 12 周。Phil 希望在早期冲刺阶段实现尽可能多的商业价值。因此,Sarah 展示了 DevOps Services 特性如何为协作式开发提供支持。DevOps Services 帮助该团队:

  • 继续使用 scrum 敏捷实践,因为 DevOps Services 包含一个 scrum 模板,可帮助团队执行敏捷开发
  • 能够灵活地与 Uma 合作,这是开发团队中有时在家里工作的一名成员。云中的一个工具使得 Uma 能够与团队协作,甚至在她未在办公室的时候也能与团队协作。
  • 她能迅速而又高效地工作,因为可以从 Web 浏览器访问基于 Web 的 DevOps Services,无需在本地安装软件。

返回到办公室后,Sarah 说服团队为他们的项目试用 DevOps Services,团队使用 DevOps Services 启动了 MeterPal 项目。

使用 DevOps Services 进行开发,使用 Bluemix 进行部署

在项目 MeterPal 的第一次冲刺开始时,Sarah 要求 scrum 团队转到 DevOps Services 并进行注册。他们在不到 3 分钟的时间内完成了任务,因为注册表仅需要一个有效的电子邮件地址、一个用户 ID、一个密码和一些基本信息。

Sarah 访问 DevOps Services,使用她的帐户进行登录,并准备好创建一个项目。如图 1 所示,她键入项目名称 (MeterPal),将它设为公开可见(公开项目在 DevOps Services 上是免费的),然后选择 scrum 流程,转到 Bluemix 来部署他们的应用程序。Sarah 还选择了 Jazz™ 源代码控制选项,因为团队决定将他们的源代码存储在 DevOps Services 云上。

图 1. 在 DevOps Services 上创建一个公开的 scrum 项目
添加 scrum 特性,将它部署到 Bluemix
添加 scrum 特性,将它部署到 Bluemix

几秒之后,就在云上完成了MeterPal 项目的创建。Sarah 邀请其他团队成员立即加入该项目。他们收到了 DevOps Services 发送的一个电子邮件通知,要求注册或以团队成员身份登录到 MeterPal 项目。

很快,Sarah 在 DevOps Services 上创建了 MeterPal 项目。该团队能够通过 Web 浏览器访问一个简单而又强大的云环境,他们可以执行:

  • 敏捷项目规划
  • 阶段、案例和任务跟踪
  • 源代码控制
  • 在云中的部署

配置一个 DevOps Services 项目

现在 Sarah 希望在 DevOps Services 上配置 MeterPal 项目。她添加了相关的描述和很酷的图像。Sarah 创建了一个与项目目标一致的时间表(发布计划在 12 周内进行)。然后 Sarah 输入了一个项目开始日期,以及冲刺的数量和时长,如图 2 所示。不同的冲刺是使用相应的开始和结束日期自动创建的。

图 2. 在 DevOps Services 上创建冲刺
每个冲刺的开始时间和结束时间
每个冲刺的开始时间和结束时间

然后,Sarah 为第一次迭代创建一个冲刺订单(sprint backlog),她称之为 Sprint 1,如图 3 所示。

备注:DevOps Services 自动创建了一个产品订单。

图 3. DevOps Services 上的敏捷项目计划
Plans 选项卡上的 Sprint 1 订单
Plans 选项卡上的 Sprint 1 订单

Sarah 在大约 5 分钟以前才开始使用 DevOps Services。在这个阶段,无需执行任何进一步配置。云中的 MeterPal 项目已经可供团队使用,他们可以利用该项目为他们的敏捷、协作式工作提供支持。

云上的上下文中协作

借助 DevOps Services 上配置的 MeterPal 项目,产品负责人 Phil 可向产品订单添加新的阶段和案例。团队可执行典型的 scrum 活动,比如订单排序和细化、冲刺规划,或者将案例分解为任务。DevOps Services 还有助于将源代码与计划连接起来。借助这种可跟踪行,很容易了解每个案例的实现过程。MeterPal 项目的主页包含一个项目描述、一些文件和成员。

图 4. MeterPal 项目的主页
该页面包含描述、文件和成员
该页面包含描述、文件和成员

开发人员 Darryl 从冲刺订单中获取一个任务。他的目标是为 MeterPal 网站创建一个新页面。

Darryl 在 DevOps Services 上打开 Code 选项卡。从他的 Web 浏览器,他创建一个新 HTML 文件,如图 5 所示。DevOps Services 在线编辑器支持 JavaScript、HTML、CSS 或 Java™ 编程语言的开发和语法突出显示功能。Darryl 还可以创建一个使用 Web 编辑器的样式表,但他决定从另一个项目导入一个现有的文件。

图 5. DevOps Services 上的源代码编辑器
MeterPal.html 的内容
MeterPal.html 的内容

开发人员可在他们的 Web 浏览器中进行工作。如果愿意的话,他们还可以选择从 Eclipse® 或 IBM® Visual Studio IDE 进行开发。DevOps Services 上开发的应用程序可推送到云中的 IBM Bluemix 运行时上并进行测试。

当 Uma 在家里工作时,她的工作效率并不受影响,因为她可以远程访问云上的项目。她可以从她的 Web 浏览器与团队合作处理案例和任务。Uma 甚至可从移动设备访问项目信息,当有人在工作项目中提到她时,她会获得电子邮件通知。

最初,产品负责人 Phil 很不情愿对 MeterPal 项目采用新工具。他的担忧是,团队成员需要花费太多的时间来学习 DevOps Services,而不是将精力集中在案例实现上。但 Phil 现在认为,在团队采用 DevOps Services 后,他们的生产力并未受影响。而且由于可以从 Web 访问订单,Phil 能够更高效地与利益相关者进行协作,甚至与远距离的利益相关者进行协作。

DevOps Services 支持在云上执行上下文中的协作,帮助 MeterPal 团队构建更好的产品。产品信息是集中存储的,而且可以从实时仪表板访问。人们可开始讨论阶段、案例或任务。他们可执行评审和访问实现代码。对于 MeterPal 团队,DevOps Services 环境缩短了产品上市准备时间。

结束语

MeterPal 的其他团队经常联系项目研发管理经理 Sarah。每个人都听到了 MeterPal 项目对 DevOps Services 的成功使用。没有漫长的学习曲线,没有痛苦的安装和配置。借助 MeterPal 简单的 Web 界面,DevOps Services 支持团队可执行任务跟踪、敏捷规划、源代码控制和部署。团队成员可将精力集中在真正重要的事务上:产品开发和交付。其他许多团队也有意向在他们的计划中采用 DevOps Services。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=DevOps, Rational
ArticleID=970943
ArticleTitle=使用 DevOps Services 在云中开发应用程序
publish-date=04112014