Atlassian与DevOps 系列产品选择方案介绍
这里有一个有趣的视频:大致介绍了Atlassian家族DevOps的工具。世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益)。DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变。DevOps在团队建设中日益重要,因此我们可能需要付出一定的代价(use money to buy )去做出改变。CSDN作为Atlassian在中国的战略合作伙伴,代理Atlassian全线产品,是否对国内用户优惠就不得而知了。
什么是DevOps?
“DevOps”是现在很流行的一个词,但它代表什么意思呢?是一个工作职位?一个团队?还是一个工具?觉得有点迷茫的人绝不止您一个。
我们相信DevOps绝不是上面那些。DevOps是一种哲学,它重视跨团队协作而非严格控制,强调迭代而非完美。让我们正本清源,回归本质,了解一下究竟什么是真正的DevOps。
Atlassian简介
Atlassian公司是一家澳大利亚软件企业公司,主要针对软件开发工程师和项目经理设计企业软件。Atlassian的产品帮助创新者计划、创建和发布伟大的软件。其中用作项目跟踪软件JIRA和团队协同软件Confluence最为著名,目前已有包括花旗银行,eBay,Netflix,美国航空航天局,可口可乐和美国联合航空等3.5万多个公司使用Atlassian的产品进行高效工作。
Atlassian公司2002年由Mike Cannon-Brookes和Scott Farquhar创建,他们在澳大利亚新南威尔士大学认识,后辍学建立他们的企业软件公司。他们接受采访时说当时建立Atlassian是“直觉”上认为公司软件将会和互联网联系紧密。Atlassian公司现有雇员500人,公司总部位于澳大利亚悉尼,在美国旧金山,荷兰阿姆斯特丹设有分公司,2010年获得Accel Partner6000万美元风险投资。
Atlassian产品
产品请访问:http://atlassian.csdn.net/
JIRA
基本介绍
JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。可参考JIRA生动的视频介绍。
使用情况
JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000个组织中的管理人员、开发人员、分析人员、测试人员和其他人员认可并广泛使用。
主要特性
工作流
-
开箱即用,提供用于缺陷管理的默认工作流
-
工作流可以自定义,工作流数量不限
-
每个工作流可以配置多个自定义动作和自定义状态
-
每一个问题类型都可以单独设置或共用工作流
-
可视化工作流设计器,使工作流配置更加直观
-
自定义工作流动作的触发条件
-
工作流动作执行后,自动执行指定的操作
项目
-
每个项目都有自己的概览页面包括:项目详细信息、最新更新情况以及一些报告的快捷方式
-
在项目界面中查看按照状态、是否解决等条件设置的分类统计报告
-
查看项目最新的活动情况
-
查看项目的热门问题
-
可以设置项目类别,将项目分组管理
-
可以为每个项目设置单独的邮件通知发件地址
-
自定义安全级别,指定用户对问题的访问
-
指定组件/模块负责人
问题管理
-
自定义问题类型,适应组织管理的需要
-
自定义字段,可选择字段类型超过20种,在此基础上还支持插件进一步扩展
-
自定义问题安全级别,可以限制指定用户访问指定的问题
-
如果多个问题需要同时修改同一字段值或执行同一工作流动作,你可以使用批量操作功能一次性完成
-
登记问题预计完成时间、实际工作时间,就可以了解该问题预计还剩多长时间才能解决。甚至可以出具时间跟踪报告,了解用户的工作效率
-
支持远程创建问题,通过多种方式在JIRA中创建问题,如电子邮件、移动设备客户端
-
如果一个问题需要多人协作,可以将问题分解为多个子任务,分配给相关的用户
-
将相关或有依附关系的问题建立链接,以便于用户快速了解
-
为JIRA的问题添加附件,可以帮助技术人员快速解决问题,当上传图像文件时,JIRA自动显示图像缩略图。你也可以直接将剪切板中的图像粘贴到JIRA问题中
-
为问题设置到期日,可以在搜索或在图表中展示即将到期的问题
面板
-
自定义面板,可以在面板中添加任何符合OpenSocial规范的小工具
-
可以简单地创建、复制,生成多个面板,分别管理不同的项目
-
支持墙板
-
可以收藏面板,或将面板共享给指定的用户
-
面板布局灵活,支持拖拽
搜索
-
快速搜索,输入关键字,马上显示符合条件的结果
-
简单搜索,只需点选,就可以将所有条件组合,查找出符合条件的问题
-
可以将搜索条件保存为过滤器
-
可以将过滤器收藏或共享给其他用户
-
支持JQL搜索语言,可以使用像 "lastLogin", "latestReleasedVersion" 或 "endOfMonth", "membersOf" 之类的函数,并且可以自动补完
-
针对搜索结果进行批量操作,一次性完成多个问题的编辑或执行等操作
-
搜索结果可以输出为HTML,XML,RSS,Word或Excel
安全
-
JIRA的用户可以交由LDAP验证
-
允许设置匿名访问
-
任何使用管理员功能的进程,都需要额外验证,并且10分钟过期,以保证JIRA的安全
-
查看所有登录到JIRA的用户状况
-
将用户归属与用户组,用于维护安全权限和操作权限
-
允许每个项目单独定义项目角色成员,打破用户组权限的限制,减轻系统管理员对于项目权限的维护工作量
-
每个项目可以独立设置自己的安全机制
-
限制某些用户访问指定的问题,即使该用户拥有这个项目的访问权
-
白名单机制,限制外部链接直接访问JIRA数据
通知
-
通过邮件通知方案,配置在JIRA工作流关键阶段自动发送通知邮件
-
即使你不参与问题的解决,只要有权限,你也可以关注一个问题。只要关注的问题有任何变化,你都可以接受到邮件通知
-
定期接收JIRA的指定报告,如超期未解决的问题列表、5天未更新的问题列表等
-
在你习惯的RSS阅读器中接收JIRA的任何变动
-
在JIRA页面顶部明显的位置发布最新通知公告
集成
-
通过插件生态平台marketplace,有300种以上的插件可供选择,用以提高JIRA扩展性或提高JIRA的易用性。插件还在持续增加。
-
使用 GreenHopper 插件,实现敏捷项目管理
-
通过插件,JIRA可以将报告的缺陷与源代码建立联系,以便于了解缺陷在哪部分代码中被修复
-
JIRA 提供全面的 remote APIs - 包括REST,SOAP,XML-RPC等 - 并且Atlassian提供开发教程和示例
JIRA安装与部署
本文章将帮助您快速开启JIRA之旅,为您安装试用JIRA提供准备建议。如果你已经有 JIRA 了,你可以忽略这步。如果你没有点击下载或购买。
硬件需求建议:
- CPU:32/64 bit 2.27GHz双核心以上之CPU;
内存:8GB以上;
硬盘:300GB,7200转以上;
建议JIRA、Confluence等各自独立一台AP服务器。
软件需求建议:
Java platform:Oracle JDK/JRE 1.7以上;
OS:JIRA是Pure Java-Based应用程序,能够满足Run JDK/JRE 1.7即可;
Application Servers:建议Apache Tomcat 7.0.29或6.0.32,建议JIRA和Confluence自带即可;
浏览器:JIRA支持主流web浏览器,如IE(不支援9.0以下版本)、Chrome、Firefox、Mozilla等;
Database: PostgreDB 9.3以上 or MySql 5.x以上。
Llinux和Windows安装:
Linux详细安装:http://wiki.csdn.net/pages/viewpage.action?pageId=1441800&src=contextnavpagetreemode
Windows详细安装:http://wiki.csdn.net/pages/viewpage.action?pageId=1441802&src=contextnavpagetreemode
JIRA成功案例
2)Atlassian 的问题追踪工具给Diabetes.org带来了巨大帮助
3)Cochlear公司借助Atlassian工具完善bug跟踪
5)Macadamian Technologies 将JIRA用于软件缺陷跟踪
7)Powerhouse博物馆使用JIRA和Confluence展示实力
9)与MuleSource的共同创建者和首席技术官Ross Mason的一次访谈
10)约翰霍普金斯大学JIRA/Confluence新生信息系统JIRA Software
JIRA Software(视频)中不但拥有JIRA强大的工作流引擎还结合了敏捷开发中最重要的元素,例如scrum、看板(kanban)和实时报告,JIRA Software为优质软件的开发创建了新标准!在2015年11月新推出的JIRA Software中融合了包括JIRA和JIRA Agile在内的全部功能,JIRA Agile也从此退出了历史舞台。
所以,当我们有打算使用JIRA时,JIRA Software 或许是更好的选择。
Confluence
Confluence(视频)是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。通过它可以实现团队成员之间的协作和知识共享。
基本介绍
简介
Confluence为团队提供一个协作环境。在这里,团队成员齐心协力,各擅其能,协同地编写文档和管理项目。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence真正实现了组织资源共享。Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论。
使用情况
Confluence 已经在超过100个国家,13500个组织中成功地应用于企业内网平台、知识管理及文档管理,涉及财富1000企业、政府机构、教育机构、财务金融机构及技术研究领域。包括IBM、Sun MicroSystems、SAP等众多知名企业使用Confluence来构建企业Wiki并面向公众开放。
Confluence主要特性
空间
- 空间是页面的组合,可以创建不限数量的空间
- 每个空间都有自己的权限设置, 由空间管理员将权限分配到用户和组
- Confluence提供多种方法将空间内容导出为HTML、PDF、XML、Word等格式
- Confluence的每个空间具有属于该空间的博客,博客内容可以是通知、行程、状态报告或任何与时间相关的信息
- 点击空间中的“查看标签”页面查看空间中的全部标签, 点击任一标签查看具有该标签的页面,并且可以进一步点击标签以得到满意的
页面
- Confluence通过历史版本记录每一个页面的编辑过程, 能够很方便的查看版本之间的区别,或恢复到以前的版本
- 支持页面模板,当在空间中添加一个新页面,不必从头开始,可以在页面模板的基础上添加内容
- 空间中的页面按照父子关系组织成树状关系,这种页面组织关系虽然简单,但是对内容的分类组织却十分有效
- Confluence可以导入Word文档成为一个页面,并自动根据文档章节,对页面进行拆分和树状组织
- 可以在同一空间或不同空间中移动和复制页面,可以以字母顺序排序或手工排序
- 支持标签功能,用以标识页面和博客,标签能够对页面进行详细分类,并可跨越多个空间和类型以聚合内容
- 对页面内容的讨论,可以进行评论,评论是一种有效的社区用户沟通方式
- Confluence自动将已删除页面放置到回收站中,页面能够恢复回来,除非管理员清空了回收站
- 页面限制可以对单一页面设置谁可以查看、谁可以编辑,子页面继承父页面的“查看”限制设置
编辑器
- 简单易用的富文本编辑器,用户可以迅速上手。Confluence的富文本编辑器可以帮助用户很方便快捷的创建具有吸引力的页面
- 支持在Word中进行编辑,点击页面或博客中的在Word中编辑链接,将在Microsoft Word中打开页面,可以编辑后将编辑好的内容存回Confluence中
- Confluence 在用户输入时自动保存草稿,当浏览器在编辑时崩溃你输入的内容也不会丢失
- 可以以多种方式在页面中显示图片,还可以按照缩略图方式显示,或者显示成画廊以幻灯片方式播放
- 可以很容易的在页面中嵌入多媒体, Confluence 支持以下多媒体格式:
- 支持同时编辑,当出现两个以上的人同时编辑同一页面的情况,Confluence将保证所有人不会丢失任何内容
- 支持拖放。 通过拖放可将嵌入的图片和Office文档直接输入到富文本编辑器中
- 通过链接浏览器可以链接到系统的任意对象,如:页面、博客、附件、甚至用户
宏
- 宏是一种在页面中动态扩展功能的机制, Confluence内置提供了几十种常用的宏供用户使用
- 图表宏将表格数据显示成图表,图表类型可选饼图、柱状图、折线图、面积图、散列图等
- 画廊宏将页面中的图像附件以缩略图画廊方式在页面中显示
- HTML宏允许用户将HTML代码嵌入到页面中,HTML宏默认设置成关闭
- 热门标签宏将常用标签生成列表或热图
- 引用宏标记页面中的内容供其他宏使用
- 社交网络宏显示在你社交网络中的所有用户
- 用户属性宏显示用户属性详情
- 代码块宏在页面中以语法高亮方式显示源代码(HTML, Javascript, Java,等)
附件
- 在Confluence中, 附件不是仅仅上传后就不起作用了,附件是信息共享重要的部分,附件有版本管理、可链接、可搜索、可预览
- 所有的附件都有版本控制, 另外每个版本都有创建者的备注,说明由谁创建和创建的原因
- 为了合理利用服务器存储空间, 管理员可设定附件最大尺寸
- 如果安装了Office软件,可以直接在附件页面中编辑Office文件
- 内置的WebDAV插件,使用户能够通过Windows Explorer 或其他WebDAV客户端直接浏览、管理、编辑附件
- Confluence构建附件索引,以便于搜索以下文件的内容:
- 将附件上传到Confluence中就像在桌面系统中一样工作。可以将桌面中的文件直接拖放到Confluence页面
- 支持批量下载,可以将页面中的附件打包成一个ZIP文件下载
- 可以使用附件宏在页面中显示附件列表
通知
- Confluence使用邮件通知和RSS源使用户能够得到最新变化的通知
- 可以将一日内的Confluence更新情况的邮件通知浓缩成一份每日邮件报告
- 用户可以关注空间或其他用户,当空间内的页面或博客有任何改动时,或被关注用户进行了相关操作时,用户将会收到邮件通知
- 用户可以决定编辑后是否发送通知给关注人。
- 空间管理员能够查看谁在关注页面,并能够添加关注着到任意页面或博客,这样能够使相关人员及时获得重要活动的信息
搜索
- Confluence 能够搜索全部空间(全局和个人空间)中的所有内容,包括邮件、个人属性、附件和空间描述
- 附件内容也能够建立索引,与其他Confluence内容一样供用户搜索
- 支持快速导航,根据用户的输入信息提供建议的搜索结果,只需要在下拉列表中选择中意的页面即可
- 如果要更精准的找到想要的结果,Confluence能够在以下几个方面设置搜索条件:
- 邮件搜索,Confluence支持归档全部邮件及其附件到特定空间,一旦归档后,邮件能够:
- Confluence的搜索语法提供更精细的搜索条件,可以搜索短语、指定不包括的词语,并能使用逻辑操作符,如:AND, OR ,以及通配符*
- 用在线搜索宏在页面中添加一个搜索框,当用户输入搜索词语后,将动态显示匹配的结果
定制化
- Confluence 能够快速套用用户组织的展现风格并能够扩展用户所需的功能
- Confluence站点和空间的布局能够自定义
- 定制空间配色方案,体现出个性化或者仅仅是匹配组织的配色标准
- 定制样式表能够改变空间样式风格,使界面更有个性
- 定制站点的欢迎信息以显示站点的介绍或者是当天的重要信息
- 主题用于个性化设置Confluence的展现风格,可以在整个站点或某个空间应用主题
- Confluence有上百种插件,用于扩展Confluence以适应各种应用场景
- Confluence提供全面的Web Service接口,使应用程序或脚步能够远程更新内容、管理用户和个人空间。提供的API类型包括:SOAP、XML-RPC和REST
- 可访问源代码。所有的授权用户允许访问Confluence源代码,用于定制和扩展功能
个性化
- Confluence面板显示站点的概览和最新内容变化情况,用户可以过滤和收藏内容,管理员甚至能够创建定制化的欢迎信息
- 注册用户能够自定义Confluence首页,当成功登录Confluence后将跳转到首页,首页可以是面板或者是定制好的一个页面
- 收藏功能是快速访问感兴趣的页面或空间的一种方法, 可以从面板或个人属性页面中快速访问个人收藏的信息
- 私有标签可以标识个人感兴趣的内容,用于后续导航内容时使用
- Confluence 记录最近查看的页面,便于后续访问
- 状态更新类似微博,限制140个字符,能在整个组织中查看到
- 人员目录提供了Confluence站点所有人员的列表,从人员目录中搜索人员,点击人名或头像就能查看到该人的详细信息
- 可以关注用户,了解其他人在Confluence中的活动,将其纳入自己的社交网络中
- 创建个人空间,用于展现自己、写关于工作的博客或者仅仅是在线保存个人信息
- 用户可以上传自己的头像或者从系统提供的头像中选择。如果上传了照片,Confluence允许截取指定区域作为头像
- 如果想了解用户更多的信息,只需要在用户名字上悬浮鼠标就会弹出浮动消息框,显示用户的概要信息
- 每个Confluence都拥有用户信息区域,用于显示用户的如下信息:
安全
- 为了便于管理,用户可以被分配到用户组中,这样在组中的用户就自动具有该组被赋予的权限
- 支持公开注册,便于创建一个面向公众的站点
- 支持验证码
- 每个空间都能配置权限,权限可以由管理员赋予某个用户或者用户组
- 页面权限能够控制那些人能够查看或编辑某一个页面,子页面继承父页面的查看权限
- 支持单点登录
- 每个Confluence站点都允许不限数量的匿名用户访问,使得Confluence成为理想的对外服务站点,管理员能够对匿名用户组单独设置权限
Confluence安装与部署
本文章将帮助您快速开启Confluence之旅,为您安装试用Confluence提供准备建议。如果你已经有 Confluence 了,你可以忽略这步。如果你没有 点击下载或购买。
硬件需求建议
配置要求
不超过 5 并发用户:
| 超过 25 并发用户:
| 超过 100 并发用户:
|
非集群模式Confluence的硬件配置举例,表中没有标明分配给JVM的内存容量。
150 | 30 | 1,000 | 1 | 2.6 | 1,024 |
|
350 | 100 | 15,000 | 2 | 2.8 | 700 |
|
5,000 | 500 |
| 4 | 3 | 2,024 |
|
10,000 | 350 | 16,000 | 2 | 3.8 | 2,024 |
|
10,000 | 60 | 3,500 | 2 | 3.6 | 4,048 |
|
21,000 | 950 |
| 2 | 3.6 | 4,048 |
|
85,000 | 100 | 12,500 | 4 | 2.6 | 4,048 | 3 台服务器: 应用服务器, 数据库服务器, Apache HTTPD + LDAP 管道服务器. |
磁盘空间
安装文件Confluence 安装路径 - 250MB
| Confluence Home 文件夹 或 外部数据库 - 最小 250MB
|
软件需求建议
1.Confluence新版本已经不再支持 Internet Explorer 6, Mozilla Firefox 2 以及 Safari 2。
2.在安装Confluence之前,你需要在操作系统上安装 Java Development Kit (JDK) 。
为Confluence安装 JDK 的重要提示
- Confluence 需要完全安装 JDK。 只在Java虚拟机环境 (JRE) 下无法运行Confluence。
- 虽然 JDK 1.5 可以很好的运行Confluence, 但应该首选 JDK 6 (1.6), JDK6 更可靠更快速
我们不支持非 Sun JDK。 然而, 如果你希望使用非 Sun JDK 以及使用 SSL, 你需要安装 Sun JSSE package。
现在不支持OpenJDK。
3.我们Confluence 4.x可以很好的运行在下列数据库版本上。
- PostgreSQL — 8.2, 8.3, 8.4, 9.0
- MySQL — 5.1 (使用 InnoDB 存储引擎, 而不是 MyISAM)
- Oracle — 11.1, 11.2
- Microsoft SQL Server — 2005, 2008, 2008 R2
- DB2 — 9.7
4.你需要配置防病毒软件忽视下面的文件夹:
- Confluence home 文件夹
- Confluence 索引文件夹
- 所有数据库相关的文件夹
5.Confluence支持的平台
Key: = 支持
= 不支持
Sun JDK |
|
操作系统 |
|
---|---|
Microsoft Windows (包括64位) (1) | |
Apple Mac OS X (1) |
|
应用服务器 |
|
Apache Tomcat |
|
数据库 |
|
PostgreSQL |
|
MySQL (3) |
|
Oracle |
|
Microsoft SQL Server |
|
DB2 |
|
HSQLDB (4) |
|
网页浏览器 |
|
Microsoft Internet Explorer (Windows) |
|
Mozilla Firefox (所有平台) |
|
Safari (5) |
|
- Confluence 是纯 Java 应用程序,并且可以运行在任何安装了Java JDK的平台。
- 有些客户的 Confluence 运行在 SPARC 硬件环境上, Atlassian 只支持 x86 硬件和 64-bit 模拟 x86 硬件上。
- 确保你的 Confluence MySQL 数据库配置,使用的是 InnoDB 存储引擎,因为 MyISAM 存储引擎可能会导致数据损坏。
- HSQLDB: Confluence 内置了 HSQL 数据库。 这个数据库类型对于试用评估环境非常方便, 但是它在系统发生崩溃时会造成数据丢失。因此 , 如果用于正式环境, 我们建议你使用外部数据库。
- 我们不建议在iOS设备(像iPhone和iPad)上使用Safari编辑Confluence。
Linux和Windows安装
Confluence Linux详细安装:http://wiki.csdn.net/pages/viewpage.action?pageId=1867879&src=contextnavpagetreemode
Confluence Windows详细安装:http://wiki.csdn.net/pages/viewpage.action?pageId=1867881&src=contextnavpagetreemode
Confluence设置向导:http://wiki.csdn.net/pages/viewpage.action?pageId=1868027&src=contextnavpagetreemode
更新Confulence授权码/获取SEN号:http://wiki.csdn.net/pages/viewpage.action?pageId=1867899&src=contextnavpagetreemode
Confulence成功案例
Confulence新版特性
confluence新版特性:http://wiki.csdn.net/pages/viewpage.action?pageId=1867850&src=contextnavpagetreemode
Atlassian与DevOps
Atlassian如何实施DevOps
DevOps是推动开发和运维团队之间沟通和协作的手段。它不是一个工具或产品。相反,其成功的首要因素就是文化。目的是更快的创新和更好的客户体验。
“2015年DevOps状态报告”调查了2万名IT专业人士。根据报告我们发现,实施DevOps的团队:
- 30倍更频繁部署
- 60倍更少故障
- 60倍更高成功率
- 160倍更快恢复
观看我们的网络讲座,你将了解到Atlassian是如何实施DevOps的,以及如何使用我们的产品促进协作,激励创新,加快发布版本,持续提高质量。
在这个网络讲座中,您将学习如何:
- 利用Atlassian工具栈及其生态系统支持DevOps协作环境。
- 构建产品和基础架构。
- 利用Bamboo、Bitbucket、Puppet实现持续交付。
- 利用JIRA Software和JIRA Service Desk跟踪开发与IT团队之间的事件、问题和变化。
- 利用监控工具(New Relic、DataDog、Nagios、Splunk等)集成的HipChat主动监控服务。
- 在Confluence中分享知识和事后评审(PIR) 。
- 利用JIRA Service Desk为开发人员提供客户反馈平台。
如何选择正确的DevOps工具
坦白的讲:世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益)。DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变。
然而,团队之间也拥有支持自动化和协作的工具及技术。经常有人问我们在Atlassian时关于支持DevOps工作方式所用到的工具(除了我们自己)。所以,我准备拟定一份购买指南,标明购买DevOps工具时所需要的东西并且告知您我们团队所用到的工具。
尽管许多工具都能以这种或那种的方式在开发周期的各个阶段发挥作用,但没有一种工具能在每个阶段起到主要作用。所以,当我们谈及DevOps工具时,将其分解到各阶段是很有帮助的。我将其分解成:规划、构建、持续集成、部署、运营以及持续反馈。
1. 规划、2. 构建、3. 持续集成、4. 部署、5. 运营、6. 持续反馈
1. 规划
视觉与设计方面达成协作
根据敏捷手册中的内容,我们推荐使用在规划中允许您的开发团队实现迭代的工具。这样,您就能很快地从用户那里获知情况,并通过用户反馈优化产品。寻找能够提供sprint规划特点的工具。
另外,优先考虑为您的开发团队持续收集用户反馈,并加以组织形成可执行信息。寻找可以支持“异步讨论”的工具(如果您愿意)。重要的是每个人都可以分享并发表评论:想法、策略、目标、需求、路线图以及文档。
不要忘记整合。无论您决定将功能或项目开发到多大范围,都应当将用户想法列入您的开发列表。
我们使用的工具:Confluence, HipChat,JIRA Software
2. 构建
开发的阶段环境
虽然Puppet和Chef主要受益于运维,但开发人员通过工具来提供各阶段的开发环境比如Docker。虚拟编码和可支配的产品副本可以帮助您完成更多工作。
一些奇怪的类路径?Mave安装突然被损坏?基础设施自动化意味着重新配置比修复的速度更快,也更可靠,这也意味着您可以加快升级您的开发环境。
当整个团队在相同配置的环境中工作时,“用自己的机器工作!”别开玩笑了,这是真的(现在就是在开玩笑)。
我们使用的工具:Docker
基础设施自动化
开发人员创建模块化应用,因为模块化应用更加可靠,易于维护。所以,为何不将这种想法延续至IT基础架构之中?
这很难应用到系统之中,因为他们总是在不断变化。因此我们通过代码配置加以解决。配置代码可应用于裸机,并将服务器恢复至基线水平。
它可以存储在版本控制系统中。可对其进行测试。纳入CI(持续集成)中。同行评审。您可以对其进行命名。
当在代码中对系统知识库编译时,题目文件和内部文档变得不太重要。产生可重复的流程和可靠的系统。少说话,多做事。
我们使用的工具:Bamboo, Bitbucket, Chef,Docker, Puppet
协作编码
不需要等待董事会批准后再部署到生产环境中,您可以通过“拉请求”进行同行评审,以提高代码质量和生产量。
什么是拉请求?“拉请求”可以将您在资源库发布一个开发分支的变化告知您的团队。随后您的团队可以查看这个更改,并在将它们集成到主代码行之前进行讨论修改。
3. 持续集成
持续集成
持续集成就是每天都要对共享存储库中的代码进行多次检查,并且每次都要对其进行测试。这样,您能及时发现问题,在最初阶段修复它们,并尽可能早的向你的用户展现新的功能。
由于分支和合并的工作流程是时下比较流行的(这是理所当然的!),所以避免在多分支环境中运行CI的工具可以保证在不降低开发速度的情况下进行严格的测试。
寻找那些可以自动将测试结果应用到开发分支中的工具,并在分支构建成功时为您提供是否将其推送至master的选择。除了这一点,您可以通过一个简单的集成从您的团队沟通工具中获得实时警报。
我们使用的工具:Bamboo, HipChat
自动化测试
从长远来看,自动化测试的回报会随着时间的推移通过加快开发和测试周期体现。而在一个DevOps环境中,最重要的是它的另一个原因:意识。
对于准备和支持开发构建工作,自动化测试的操作过程透明化以及彻底性是非常重要的。与手动测试不同,自动化测试每次都可以保证诚信地执行且遵循相同的标准。它们还会生成报告和趋势图,以帮助识别高风险区域。
风险在软件中是真实存在的,但您不能忽略您无法预料的风险。帮您的运营团队一个忙,让他们和您一起探究幕后是如何运行的。寻找能支撑墙板的工具,让每个人都可以参与项目的具体构建或部署结果的评论中。工具的额外加分特点是能够使在突击测试和探索性测试中的相关操作更加容易。
我们使用的工具:Bamboo, Bitbucket,Capture for JIRA
4. 部署
发布仪表盘
软件交付中压力最大的部分之一是让所有的变化、测试以及未发布的版本信息部署到一个地方。任何人在发布前经历的最后一件事情是需要一个漫长的会议来报告状态。这就是发布仪表盘流行的地方。
寻找一个集成了您的代码库和部署工具的单一仪表盘工具。在一个地方对于你想寻找的关于分支,构建,拉请求和部署警告等信息提供高可视化。
我们使用的工具:JIRA Software
自动化部署
没有什么神奇的方式可以让自动化部署工作于每个应用程序和IT环境中。但是,使用Ruby或bash将Operations’runbook转换成一个cmd-executable脚本是一种常用的启动方法。良好的工程实践是至关重要的。使用变量分解出主机名 – 为每个环境提供独特的脚本或者代码是无趣的(至少一半是无意义的)。创建实用方法或脚本以避免代码重复。并且同行审查您的脚本,执行完整性检查。
首先尝试自动化部署到您的最低级别的环境中,其中您将频繁地使用自动化,接着复制所有的方式至生产环境。如果不出意外,这次练习强调了您的环境之间的差别,并生成一个标准化的任务列表。作为奖励,通过自动化,标准化部署减少了环境内部和之间“服务器漂移”。
像Puppet和Chef等配置工具减少了在标准化环境中的困难。并且有负载工具协助自动化部署。Atlassian公司自己的Bamboo支持逐步协调复杂部署,并为每个环境的历史提供可视性。
集成了Puppet或Chef的HipChat允许您从聊天室控制部署。通过简单搜索,您肯定能够找到一种适合您且在运算内的应用程序。
我们使用的工具:AWS, Bamboo, HipChat,Puppet
5. 运营
应用程序及服务器性能监控
应该对以下两种类型实施自动化监控:服务器监控和应用程序性能监控
手动““topping”一个盒子或通过测试接入您的API都对现场检查是有帮助的。但是要了解趋势和您应用程序(和环境)的整体健康状况,您需要7X24小时可以监听和记录数据的软件。
如您所想:这样一种应用软件是存在的。事实上有很多这样的软件。New Relic,Splunk和Nagios是最受欢迎的,而且能够满足这两种类型的监控。寻找可以与您的群组聊天客户端相集成的工具,以便将提醒信息直接发送给您的团队群或某事件的专属群。
我们使用的工具:BigPanda,HipChat,HostedGraphite,Nagios,NewRelic,PagerDuty,Pingdom,Splunk
沟通与集群
跨团队沟通是实现文化转变的第一步,聊天工具可促进它的实时性。很多聊天工具都有专用的群,在这里专家可以对发布在群里的事件及时跟进,并快速修正。
同样重要的还有保持警惕,这样可以最大限度地维持正常运行时间。寻找一个可扩展和可集成监控工具的聊天工具,让您不会错过任何一个重要的服务降级警报。
最受企业喜爱的是拓展他们自己之外的沟通。寻找一个可以帮您及时通知用户的工具,让他们实时了解您的动态。
我们使用的工具:BigPanda,DataDog, HipChat,NewRelic, PagerDuty,StatusPage
事件、变更和问题跟踪
增进团队之间协作的关键是确保他们可以查看相同的工作。当事件被报告时发生了什么?他们是否有联接并追踪软件的问题?当发生改变时,他们是否与发布相关联了?
没什么比在不同的系统中进行事件和软件项目追踪更能阻碍开发与运维间的协作了。寻找那些使事件、变化、问题和软件项目在一个平台上的工具,帮助您快速识别并解决问题。
我们使用的工具:JIRA Service Desk,JIRA Software
6. 持续反馈
通过用户反馈创造更好的产品
客户已经告诉您,您是否创造了合格的产品——您只需要倾听即可。这包括NPS数据、流失调查、bug报告、支持文件,甚至是事件推文。在DevOps文化中,产品团队中的每个人都能够查看用户评论,因为他们为一切从发布计划到探索性测试提供帮助指导。
寻找应用程序将您的聊天工具与您最喜爱的调查平台及集成用于收集NPS的反馈。Twitter和/或Facebook也可以与聊天工具集成进行实时反馈。为了更深入的分析来自社会化媒体的反馈,一个可以使用历史数据得出报告的社交媒体管理平台是很值得投资的。
分析并引入反馈在短期内会感觉可能减缓了发展步伐,但从长远来看,它比发布没有人想要的新功能更有效。
我们使用的工具:GetFeedback,HipChat,JIRA Service Desk,Pendo,Surveymonkey,HootSuite
完善您的DevOps工具集
Atlassian的工具可在开发生命周期的每个阶段提供跨团队协作支持。正如您所看到的,我们利用同行构建的插件和单机工具增强我们的DevOps工具集。
在小公司里,一个团队可能负责整个开发生命周期。在大公司里,是被各个部门承担的。无论如何,DevOps都能够打破僵局,使这个生命周期更快、高度自动化以及无缝协作 - 无论是跨职能团队还是在一个团队中。
首先是选择正确的DevOps工具,最重要的是认真审视当前软件和IT操作过程,并决定需要改进的地方。我希望这个清单可以为您指明正确的方向。
Atlassian成功案例
更多使用问题请参考:http://blog.csdn.net/atlassian2013
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?