写点什么

发布和流程管理的利器——奥丁桌面

  • 2020-05-14
  • 本文字数:1950 字

    阅读完需:约 6 分钟

发布和流程管理的利器——奥丁桌面

本文和大家探讨 Qunar 机票项目管理的利器:奥丁桌面。


在 JIRA 的提测 &发布栏右上角,有一个名为“奥丁桌面”的按钮,就是本文重点介绍的工具平台:



对这个奥丁桌面,Qunar 的很多同学并不陌生,也有很多业务线同学在使用它进行发布管理。它是国内机票 QA 自主研发的流程管理平台,支持发布管理、信息整合、持续集成。


使用奥丁桌面进行发布,则无需再通过 Jekins 平台发布、Git 获取工程信息、JIRA 找分支和发布人员、去环境管理平台自行发布等等各种平台的切换。奥丁做了发布系统和信息的整合、奥丁方便填写分支发布和回滚、奥丁集成了日志查看、奥丁有环境和机器绑定。


使用奥丁桌面,无需再担心回滚的分支不对,无需再担心所使用的测试环境和别人有冲突,无需再担心人员对代码检查、自动化测试等流程的执行情况。


以上是奥丁的一些主要功能,但并非全部功能,奥丁承接的和能够实现的,比上述功能还要都很多,下面来顺着笔者的思路,看看我们是否可以让奥丁更强大,让项目管理流程更智能化、标准化。

桌面管理

既然是桌面管理,首先奥丁做了发布系统、环境信息、JIRA 项目信息、代码信息、人员信息、监控信息、工具类等信息的整合。


如图所示是当前奥丁桌面能够看到的功能展示:



本文重点介绍几个有趣的、值得推广和探讨的功能。

环境信息

在奥丁背后,对接了容器化环境管理平台。当测试环境创建、销毁、更新时,会发送消息,奥丁后台的阿波罗系统监听消息,将环境完整的信息持久化入库,并提供接口,供奥丁桌面和其它工程使用。


这些信息包括:环境列表、环境中的工程信息、端口、路径、module、工程类型、环境名称和标识、应用部署基本信息等等。


JIRA 信息

同样,奥丁会获取 JIRA 中的项目信息,包含:人员信息、工程信息、分支信息、模块信息。将这些信息整合展示在奥丁桌面中。

回滚信息

有了上述的工程和代码分支信息以及发布信息,那么奥丁自然而然可以后台去获取该工程最新的上一次 master 代码,进行有效回滚分支号的自动填充,方便回滚操作、rebuild 操作。

一键群聊

奥丁能够获取到 JIRA 的所有相关人员,于是提供了“一键群聊”的功能,点击自动创建以项目名称命名的含所有项目成员的内部沟通群。提效、避免沟通遗漏。


除了这些,还整合了测试发布过程中会用到的监控平台、数据平台、mock 平台、case 平台、发布周知等等入口。支持入口随时添加修改。


聪明如你,看到奥丁桌面能够整合如此完整的信息,是否已经开始了各种设想?各种流程管理的方案呢?


在此,简单举几个在实践的、运用的很好的案例供大家参考:

奥丁环境分配隔离

容器化环境管理是面向全员的,缺少权限管理和环境分配策略。其初衷是人手一套环境,但这个在现实中很难完全落地实现。


于是,在奥丁中将环境通过标记进行区分隔离,例如 Dev 角色成员只能在 Dev 标签下操作,所选环境只能是 Dev 环境,有效做到环境按角色隔离。


同时,做环境工程占用管理。判断当前 PMO 要发布的工程信息和环境中的部署情况,如果待选环境中已有同样工程的另外分支或 PMO 占用,则该环境不可选。


当 PMO 关闭或手动解绑环境时,释放环境资源。

奥丁整合自动化执行流程

上面的过程中,奥丁已经实现了发布、环境分配、人员和分支状态的判断逻辑,那么,只要我们后端实现了对应工程的自动化测试,则只需要自动化给奥丁系统提供一个调度接口,奥丁就会判断该工程在提测、发布、灰度发布等等环节做自动化环境的自动部署和自动执行,并将结果反馈。


同时,可以做流程管理功能,如自动化执行不通过,则将线上发布选项置灰,不允许发布线上。


目前 Qunar 机票自动化即采用上述的奥丁流程自动强拦截控制。有效保障自动化落地程度。

奥丁整合灰度环境的指定部署

Qunar 机票近期开发了全链路灰度测试方案,该方案拟在发布前,首先要求先发布灰度环境,灰度验证无误后,再发线上。通过灰度监控对比的方式,在小流量范围内提升线上问题的主动发现率。


其触发原理简单:识别灰度标记的机器,识别需要走灰度发布的工程,在该工程的关键节点触发灰度部署,后台发消息给灰度链路系统,触发监控染色。

奥丁整合环境创建分配

基于容器化的环境管理思路,奥丁可以实现在分支创建后,自动调用环境接口,自动创建环境,自动检查环境可用度,主动提供全新可用的测试环境。


只是由于机票环境模板的巨大,这个功能暂未在机票团队落地。其它业务线如有需要,可以随时实现。

其它应用场景

奥丁可以整合业务监控面板的调取、发布雷达的信息获取、集合监控自动埋点平台的使用、集成故障演练降级等平台的使用…


之所以叫做奥丁平台,源于它的无限创造力和支撑力。


奥丁是项目管理的有力支撑工具,是流程管理的最有效管控手段,是信息整合和输出的理想平台。


留一些想象空间,给有需要的你 : )


作者介绍


王怀坤,Qunar 机票事业部 QA,多年互联网经验,秉承技术驱动的工作理念,潜心耕耘质量体系建设之路。


2020-05-14 16:521095

评论

发布
暂无评论
发现更多内容

ChatGPT-4 来了, OpenAI 官宣6种已落地应用和服务模式

B Impact

OPPO 对话式 AI 助手小布演进之路

安第斯智能云

人工智能 AI IoT 跨端 语音助手

中国美妆行业私域服务商发展洞察

易观分析

商业 美妆

这可能是你需要的React实战技巧

夏天的味道123

前端 React

FeatHub:流批一体的实时特征工程平台

Apache Flink

大数据 flink 实时计算

移动端应用性能多维监控——崩溃监控系统

Openlab_cosmoplat

工业互联网 开源社区 崩溃监控系统

Android图形渲染系统新

江湖修行

渲染 an'droid 渲染技术

震惊,一行MD5居然让小伙伴都回不了家!!!

京东科技开发者

md5 京东云 京东技术 企业号 3 月 PK 榜

大厂不同职级要求有何不同

致知Fighting

Java 后端 晋升

前端react面试题合集

夏天的味道123

前端 React

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

Matlab常用图像处理命令108例(五)

timerring

图像处理

文盘Rust -- 安全连接 TiDB/Mysql

京东科技开发者

rust TiDB 京东云 京东技术 企业号 3 月 PK 榜

【NLP 系列】Bert 词向量的空间分布

京东科技开发者

人工智能 nlp NLP 大模型 BERT 企业号 3 月 PK 榜

2022年国内CVC参与股权投资事件1341个,同比减少43.9%;智能制造、医疗健康和企业服务最受青睐丨睿兽分析CVC年报

创业邦

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

[译]TIME_WAIT及其对协议和可伸缩客户端服务器系统的设计实现

蓬蒿

TCP TIME_WAIT

详解React的Transition工作原理原理

夏天的味道123

前端 React

深入探究 Go log 标准库

江湖十年

Go 后端 日志 log

A-Ops 数据库场景在线应用性能诊断案例

openEuler

数据库 Linux 操作系统 openEuler 性能测评

JRC Flink流作业调优指南

京东科技开发者

Apache 京东云 京东技术 企业号 3 月 PK 榜

博睿数据入选中国高科技高成长企业系列榜单

博睿数据

可观测性 智能运维 博睿数据 荣誉奖项 高科技企业

新版本发布!TDengine 3.0.3.0 为数据压缩、事件窗口等七大功能加“Buff”

TDengine

大数据 tdengine 开源 时序数据库 国产数据库

前端常见react面试题合集

夏天的味道123

前端 React

8个云成本优化的最佳实践

SEAL安全

FinOps 云成本管理

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

@Transaction注解的失效场景

京东科技开发者

京东云 京东技术 企业号 3 月 PK 榜

2023Java面试,看完这份笔记薪资和offer都稳了!

程序知音

Java 编程语言 后端 八股文 Java面试题

连接内网SSH新姿势,告别慢速度及防火墙限制

百川云开发者

Linux 远程连接 主机运维

读懂React原理之调和与Fiber

xiaofeng

前端 React

2023算云融合产业大会-行业先驱!算力云服务领航者计划评选结果即将揭晓

中国IDC圈

算力 云算力 云计算,

发布和流程管理的利器——奥丁桌面_文化 & 方法_王怀坤_InfoQ精选文章