本次猪齿鱼V1.1版本在团队协作和DevOps方面新增和优化了多项功能:
猪齿鱼项目群、开发、测试等其它功能模块,也都进行了不同程度的修改和优化,欢迎大家前往试用。
图:猪齿鱼-工作日历
图:猪齿鱼-查看工作日历任务
图:猪齿鱼-可将工作日历订阅到本地Outlook
图:猪齿鱼-工时日历
对于项目团队成员,为了避免忘记登记工时的情况,本次版本增加了每日工作提醒,帮助团队成员跟进个人工作项。
为了使甘特图更便于项目计划管理,本次版本的甘特图在原有的基础上新增了以下功能:
图:猪齿鱼-甘特图
开发
部署
测试
猪齿鱼Choerodon数智化效能平台,提供体系化方法论和协作、测试、DevOps及容器工具,帮助企业拉通需求、设计、开发、部署、测试和运营流程,一站式提高管理效率和质量。从团队协同到DevOps工具链、从平台工具到体系化方法论,猪齿鱼全面满足协同管理与工程效率需求,贯穿端到端全流程,助力团队效能更快更强更稳定,帮助企业推动数智化转型升级。
自汉得宣布发布猪齿鱼以来,已被上千个组织所使用,帮助企业完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。经过一千一百多天的奋战,2021年06月30日,Choerodon猪齿鱼迎来了1.0先行版正式发布,标志着Choerodon猪齿鱼走向的成熟和稳定,欢迎各位升级体验。
本文主要内容包括:
ChoerodonUI**开源组件库**(缩写C7NUI),拥有开箱即用的高质量React组件,全链路开发和设计工具体系,帮助企业级中后台产品提升开发效率。自V0.1.0就开始支撑Choerodon猪齿鱼的前端组件,并在2021年2月4日发布稳定开发正式版V1.0,支持平滑升级,目前除了Choerodon猪齿鱼还支撑着HZERO、飞搭等产品的前端组件。
C7NUI信息如下:
Choerodon猪齿鱼1.0版本全面使用C7NUI最新版本1.4.0的新主题风铃紫。
汉得焱牛开放平台致力于降低技术中台交付成本和准入门槛,为内外部用户提供更高效、更便捷的一站式服务平台。
Choerodon主页介绍了产品优势、产品功能、解决方案、客户案例等信息,并对比了Choerodon猪齿鱼不同版本的功能差异。
Choerodon文档将商业版、SaaS版的文档迁移至文档中心,提供多样化的服务支持。
贯穿着产品的整个生命周期,包括项目内部及外部用户的需求收集、需求审核、分析、拆解及开发进度的跟进。
以企业级的大规模敏捷框架SAFe为基础,对多项目并行开发、多团队业务需求整理及产品开发路线图等进行管理,帮助团队提高协作性,降低团队管理的复杂性。
包括接口测试、性能测试、流量回归测试、UI测试,贯穿项目管理、敏捷开发DevOps全流程,提供敏捷化的持续测试工具,提高团队测试效率,保证质量。
通过报表以图形化的方式直观的展示项目下应用代码质量数据,便于直观展示当前项目的总体代码质量及每个应用的代码质量,以供团队管理参考。
Choerodon应用市场是平台内应用服务组件与常用中间件的管理中心,支持平台下所有项目直接部署便可使用。
感谢以下朋友在社区论坛中提出反馈和意见,在1.0版本更新中作出贡献,感谢大家一直以来的支持。
更加详细的内容,请参阅ReleaseNotes和官网用户手册。
欢迎各位朋友通过Choerodon的GitHub和猪齿鱼社区进行反馈与贡献,帮助Choerodon猪齿鱼不断成长。Choerodon会持续优化,敬请期待。
-▼-
大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:
①-Choerodon猪齿鱼官方交流(已满);
②-Choerodon猪齿鱼官方交流(可加);扫描下面二维码添加【Choerodon猪齿鱼小助手】,请备注加群;
欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。
Choerodon猪齿鱼作为全场景效能平台,是基于Kubernetes,Istio,knative,Gitlab,SpringCloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
2021年04月15日,Choerodon猪齿鱼发布0.25版本,本次更新敏捷中的问题项新增跨项目移动、上传并预览UI/UX文件等功能,组织层新增状态机模板及看板模板功能;流水线中CI阶段新增镜像安全扫描任务等功能及图表;测试中支持导出测试报表等功能;其它功能模块也都进行了不同程度的新增、修改和优化,欢迎各位更新体验。
下面就为大家带来详细的模块介绍。
感谢以下朋友在社区论坛中提出反馈和意见,在0.25版本更新中作出贡献,感谢大家一直以来的支持。
@kychen
@MyHarper01
@Rmond
Choerodon猪齿鱼商业版0.25也做了同步更新,可通过汉得开放平台了解功能详情;
2020年12月31日,Choerodon猪齿鱼发布0.24版本,本次更新上线了敏捷协作中的绩效及甘特图功能,其它功能模块也都进行了不同程度的新增、修改和优化,如代码开发、环境部署等,欢迎各位更新体验。
分析当前冲刺故事、任务、缺陷情况及历史冲刺故事、任务、缺陷趋势变化,以便用户更好的了解冲刺的完成情况。
感谢以下朋友在社区论坛中提出反馈和意见,在0.24版本更新中作出贡献,感谢大家一直以来的支持。
@**zhuozuozhi**
@hyland
经过两年零六个月的发展与沉淀,Choerodon猪齿鱼商业版0.23版本正式上线了,覆盖需求管理、规模化敏捷、多组织等模块,致力于打造全价值链多云敏捷协作平台,帮助企业聚焦业务,加速数字化转型。
以下是详细的模块介绍:
组织是Choerodon平台内层级结构中的一级,组织管理员可以管理组织下所有的项目。而多组织协同功能支持企业在Choerodon平台中管理与维护多个组织,适用于多部门多项目的企业场景。
需求池作为需求管理的一个容器,相当于需求的数据库,贯穿着产品的整个生命周期,包括内部及外部用户的需求收集、需求审核、分析、拆解及开发进度的跟进。
通过报表以图形化的方式直观的展示项目下应用代码质量数据,代码质量数据从SonarQube服务端获取,报表从整个项目维度及单个应用维度展示统计数据,便于直观展示当前项目的总体代码质量及每个应用的代码质量,以供团队管理参考。
更多内容
大家可以通过以下社区途径了解Choerodon猪齿鱼商业版的文档、最新动态、产品特性:
【汉得开放平台】
【汉得开放论坛】
2020年10月14日,Choerodon猪齿鱼发布0.23版本,本次更新在平台首页新增工作台功能,并在增加了项目概览页面,新增了制品库、代码库等功能,应用流水线中新增了CD属性的阶段,欢迎各位更新体验。
感谢以下朋友在社区论坛中提出反馈和意见,在0.23版本更新中作出贡献,感谢大家一直以来的支持。
@wangbo
2020年8月17日,Choerodon猪齿鱼发布0.22版本,本次更新Choerodon框架类型的使用的功能与HZERO开源框架进行了融合,系统的平台层和组织层的菜单结构有所调整。
项目层新增了普通敏捷项目和运维项目两种项目类型,代码开发模块新增“CI流水线”的功能,其它功能模块也都进行了不同程度的修改和优化,如平台功能、协作、部署等,欢迎各位更新体验。
感谢以下朋友在社区论坛中提出反馈和意见,在0.22版本更新中作出贡献,感谢大家一直以来的支持。
2020年3月13日,Choerodon猪齿鱼发布0.21版本,本次更新敏捷协作的知识库部分相较于上一版本会有较大的改动,其它功能模块也都进行了不同程度的修改和优化,如平台功能、协作、部署等,欢迎各位更新体验。
感谢以下朋友在社区论坛中提出反馈和意见,在0.21版本更新中作出贡献,感谢大家一直以来的支持。
2019年12月30日,Choerodon猪齿鱼发布0.20版本,本次更新测试模块相较于上一版本会有较大的改动,其它功能模块都进行了不同程度的修改和优化,如平台功能、协作、部署等,欢迎各位更新体验。
此次发布的新版本相较于上一版本会有较大的改动,本次更新对其结构和功能进行了大幅度的调整和优化:
感谢以下朋友在社区论坛中提出反馈和意见,在0.20版本更新中作出贡献,感谢大家一直以来的支持。
猪齿鱼此次发布的新版本相较于上一版本会有较大的改动。其界面显示和菜单层级结构等都进行了不同程度的修改和优化。为帮助您更好地使用新版本,猪齿鱼特此作出以下版本界面变动说明,希望您仔细阅读。
此说明将以0.18版本作为对照,按照原有功能模块:敏捷管理、应用管理、开发流水线、部署流水线、测试管理、知识管理、项目设置一一进行界面变动说明。
左侧为功能菜单,0.19版本依据应用开发流程设置菜单结构,一级菜单为协作、开发、测试、部署和设置。
敏捷管理中的待办事项、问题管理和发布版本合并移动至协作模块中的工作列表;项目群和故事地图移动至协作模块下同名功能;活跃冲刺移动至开发模块中,并更名为迭代规划;报告工作台不再使用。
应用管理中的应用移动至开发模块下的应用服务,应用版本和发布同步移动至应用服务,点击列表中的应用服务即可浏览。
开发流水线中的代码仓库、分支、标记、合并请求、持续集成、代码质量移动至开发模块下的代码管理,开发控制台不再使用。
部署流水线中的环境管理和部署配置移动至部署模块中的环境配置;应用部署移动至新版应用部署下的部署页面;实例、资源移动至应用部署下的资源页面;流水线移动至应用部署下的同名页面。
测试管理中,测试用例移动至测试模块中的用例库;测试计划移动至计划;测试执行移动至执行;自动化测试移动至自动化。
知识管理中的文档管理更名为知识库,组织知识库入口在顶部导航栏,项目知识库入口在协作模块。
原组织设置更名为管理中心,入口移动至顶部导航栏右侧。
Choerodon猪齿鱼全场景效能平台,是基于Kubernetes,Istio,knative,Gitlab,SpringCloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
2019年10月28日,Choerodon猪齿鱼发布0.19版本,此版本相较于上一版本有较大改动,其界面显示和菜单层级结构等都进行了不同程度的修改和优化,本更新公告将为您介绍新版协作、开发、测试、部署等功能模块。
结合精益敏捷对业务需求、工作任务进行管理,打造高效协作生态。
原敏捷管理模块下的活动冲刺,通过看板展示了您的团队目前正在进行的一次迭代周期,您可以在此了解每个问题的进行情况,以及每个人的任务情况,通过直接拖拽问题至不同的列可以更改问题的状态。
集合了待办事项、问题列表和版本列表,您可以在此创建问题、划分版本、分配史诗、规划冲刺,通过多选排列来整理大量待办事项,并通过拖动事务对用户故事和缺陷进行排序。您还可以使用灵活搜索功能进行过滤,以查找特定的用户故事或缺陷。
用户故事地图从史诗的维度来展示待办事项,有利于产品管理者以及团队成员将产品待办问题清单转化为可视化的过程,确保团队以“客户至上”的心态来建立他们的产品,快速且实时地传递价值。
原知识管理,在线自定义内容编辑平台,集中管理开发过程中用户需求分析、产品设计等知识文档,项目成员实时共享,协作编辑。
Wiki管理和知识管理在0.18版本中是并行状态,方便用户进行数据迁移。如您在Wiki空间中还有新的增改,可点击知识管理菜单栏上方“Wiki迁移”进行手动二次迁移,0.19版本不可再进行迁移操作。
项目团队成员管理工具,在此进行权限划分和角色分配,帮助更好地规划团队。
提供迭代规划和持续集成的流水线,帮助简化应用开发,实现快速迭代。
整合梳理了开发应用服务需要用到的所有操作、流程与功能,用于支持团队的协作开发与持续集成,包括:代码仓库、分支管理、合并请求、持续集成、标记、代码质量管理。
应用启停,状态监控,容器管理,实现流水线式多环境一键部署。
提供了可视化与一键式的手动部署方式,并支持创建CD流水线来预置多个部署任务或人工卡点任务,从而实现了部署流程的自动化。
支持灵活配置项目下所有的环境,可以查看GitOps日志、管理部署配置、分配权限和设置资源安全。
用于运行K8S的托管群组,帮助用户在此统一调配资源和管理环境。
整合了敏捷报表、测试报表和DevOps报表,从多维度直观地记录和展示您项目、迭代、版本、进度等汇总情况,以及各个应用的代码提交情况、应用构建情况以及应用的部署情况。
感谢以下这些朋友在社区论坛中提出反馈和意见,在0.19版本更新中作出贡献,感谢大家一直以来的支持。
@mq2xyz@Bory
2019年7月1日,Choerodon猪齿鱼发布0.18版本,本次更新新增了部署配置,并对故事地图进行了重构,欢迎各位更新体验。
下面就为大家带来详细的版本更新介绍。
感谢以下这些朋友在社区论坛中提出反馈和意见,在0.17版本更新中作出突出贡献。
2019年6月3日,Choerodon猪齿鱼发布0.17版本,本次更新新增了代码质量图、项目群路线图、项目群公告板和自动化测试TestNG+Selenium框架等功能,欢迎各位更新体验。
2019年5月8日,Choerodon猪齿鱼发布0.16版本,本次更新主要新增了项目群管理、自定义部署流水线等功能,欢迎各位更新体验。
本版本包含以下功能:
感谢以下这些朋友在社区论坛中提出反馈和意见,在0.16版本更新中作出突出贡献。
2019年4月1日,Choerodon猪齿鱼发布0.15版本,本次更新新增了问题管理高级搜索、活跃冲刺在制品限制、自动部署、组织层应用页等诸多新功能,欢迎各位更新体验。
感谢以下这些朋友在社区论坛中提出反馈和意见,在此次版本更新中作出突出贡献。
2019年3月1日,Choerodon猪齿鱼发布0.14版本,本次更新新增了看板任务停滞预警、自动化测试框架-TestNG、文档注释编辑和集群模块节点列表等诸多新功能,欢迎各位更新体验。
2019年01月18日,Choerodon猪齿鱼发布0.13版本,本次更新新增了文档个人空间、文档分类收藏、平台菜单点击统计和应用第三方导入等诸多新功能,欢迎各位更新体验。
2018年12月21日,Choerodon猪齿鱼发布0.12版本,本次更新新增了文档访客访问、状态机设置、应用权限控制、配置映射功能、自动化测试等功能,并对一些功能细节做了进一步优化,欢迎各位更新体验。
不同的问题类型及不同的状态机组合在一起形成状态机方案。本版本,项目初始化时,给项目一套默认的状态机方案,若不想使用默认方案,组织管理员可在此处编辑状态机方案使项目中问题的流转方案发生改变。
若对状态机方案进行了编辑,编辑的是草稿状态机方案,想要此状态机方案在项目中生效,需要对草稿状态机方案进行发布,否则项目中使用的还是原来的状态机方案。
在持续交付服务中基于测试框架模板(目前支持mocha+chai的api测试框架)创建测试应用,将测试脚本存储到应用中。在测试管理模块中通过使用Choerodonagent进行多环境调度,运行测试应用。并将测试报告返回到测试管理服务进行解析然后将结果导入测试管理模块数据中。生成可视化报告、测试循环、测试执行等数据。
2018年11月23日,Choerodon猪齿鱼发布0.11版本,本次更新内容包含新增了访问快捷方式、敏捷工作日历、站内通知、开发控制台、集群管理等诸多功能,以及对Agent、环境权限等进行了优化,欢迎各位更新体验。
2018年10月15日,Choerodon猪齿鱼发布0.10版本,本次更新对知识管理、敏捷管理、持续交付等各项服务增加了新功能,并对一些功能细节做了进一步优化,欢迎各位更新体验,同时特别感谢社区中的朋友给Choerodon猪齿鱼提出的诸多中肯意见。
1.知识管理
同时,新增了手动重试功能,当同步组织、项目失败或者创建空间失败时可手动重试。
2.敏捷管理
敏捷管理服务新增了史诗燃耗图、版本燃耗图两个报告,并且新增了迭代工作台和报告工作台,详情如下:
3.持续交付
持续交付本次主要新增了DevOps报表功能,支持查看代码提交、应用构建以及应用部署的情况:
4.测试管理
测试管理此次主要增加以下几个功能:
5.微服务开发框架
微服务开发框架增加了如下的功能:
1.敏捷管理
2.持续交付
Choerodon猪齿鱼是一个全场景效能平台,是基于Kubernetes的容器编排和管理能力,整合DevOps工具链、微服务和移动应用框架,来帮助企业实现敏捷化的应用交付和自动化的运营管理,并提供IoT、支付、数据、智能洞察、企业应用市场等业务组件,来帮助企业聚焦于业务,加速数字化转型。
2018年8月24日,Choerodon猪齿鱼发布0.9版本,本次更新对知识管理、敏捷管理、持续交付等各项服务增加了新的功能,并对一些功能细节做了进一步优化,欢迎各位更新体验,同时特别感谢社区中的朋友给Choerodon猪齿鱼提出的诸多中肯意见。
下面就为大家带来详细的版本更新介绍!
同时,知识管理页面添加删除空间的功能,方便对空间进行管理。
敏捷管理服务新增了迭代速度图、史诗报告、统计图三个报告,并且可以对版本、史诗进行拖动排序,详情如下:
除此之外,敏捷管理服务新增了agile-service基于Spock编写的单元测试,并在问题详情中添加创建分支功能,若用户修改问题状态为已完成时,会自动生成该状态下的问题解决日志。
持续交付增加如下的功能:
另外,此次更新界面增加了多种言功能,可以配合平台进行多语言切换;问题编号增加了转跳,用户不必切换到敏捷界面查看缺陷;循环详情界面增加人员筛选功能,用户可筛选指派人或执行方。
3.测试管理
4.微服务开发框架
在此之前您可能听说过“GitOps”,但并不知道它到底是什么,除了GitOps,您可能还听说过DevOps,或者AIOps、GOps等,是的,现在是“Ops”盛行的时代。
主要内容:
作为一个有经验项目管理者,或者产品负责人,你一定会思考一个问题:我们项目组在开发过程中应如何管理分支?不错,分支管理将和项目组开发人员日夜伴随,如果采用了一个不合适的分支管理模型,那么可以想象兄弟们得多么的痛苦。
Okay,那么就从分支管理模型开始......
通过GitOps,当使用Git提交基础架构代码更改时,自动化的交付流水线会将这些更改应用到应用程序的实际基础架构上。但是GitOps的想法远不止于此——它还会使用工具将整个应用程序的实际生产状态与基础架构源代码进行比较,然后它会告诉集群哪些基础架构源代码与实际环境不匹配。
将GitOps理论方法应用在持续交付流水线上,有诸多优势和特点:
作为CI/CD流水线的方案,GitOps被描述为软件开发过程的“圣杯”。由于没有单一工具可以完成流水线中所需的所有工作,因此可以自由地为流水线的不同部分选择最佳工具。可以从开源生态系统中选择一组工具,也可以从封闭源中选择一组工具,或者根据使用情况,甚至可以将它们组合在一起,其实,创建流水线最困难的部分是将所有部件粘合在一起。
不管如何选择构造自己的交付流水线,将基于Git(或者其他版本控制工具)的GitOps最佳实践应用在交付流水线中都是一个不二选择,这将使构建持续交付流水线,以及后续的推广变得更加容易,这不仅从技术角度而且从文化角度来看都是如此。
当然,GitOps也不是万能的,它也有相应的应用场景。
“不可变基础设施”这一概念不是刚刚冒出来的,它也不是必须需要容器技术。然而,通过容器,它变得更易于理解,更加实用,并引起了业内广泛注意。“不可变基础设施”让我们以全新的方式理解和面对应用系统,尤其是使以微服务为代表的分布式系统在部署、运营等方面变得不那么复杂,而有很好的可控性。
那么,如何比较方便地在实际的生产过程中应用“不可变基础设施”,这给业界也提出了另外一个问题。GitOps是在具体Kubernetes的应用实践中出现的,GitOps需要依托于“不可变基础架构”才能发挥其作用。在一定程度上说,“不可变基础架构”为GitOps的出现创造了必要的条件,反过来GitOps应用Kubernetes的容器编排能力,能够迅速的使用镜像搭建出应用系统所需的组件。
以下是几条在云原生环境中,GitOps的原则:
目前大多数CI/CD工具都使用基于推送的模型。基于推送的流水线意味着代码从CI系统开始,通过一系列构建测试等最终生成镜像,最后手动使用“kubectl”将任何更改推送到Kubernetes集群。
很多开发人员不愿意在CI中启动CD部署流程,或者使用命令行工具操作启动CD部署流程的原因可能是这样做会将集群的用户和密码等公布出去。虽然可以有措施保护CI/CD脚本和命令行,但是这些操作毕竟还是在集群外部非可信区工作的。所以,类似做法是不可取的,会给系统安全带来潜在的风险。
具有集群外读/写(R/W)权限的典型推送流水线:
在GitOps中,镜像被拉出并且凭证保留在集群中:
Git库是拉式流水线模式的核心,它存储应用程序和配置文件集。开发人员将更新的代码推送到Git代码库;CI工具获取更改并最终构建Docker镜像。GitOps检测到有镜像,从存储库中提取新镜像,然后在Git配置仓库中更新其YAML。然后,GitOps会检测到群集已过期,并从配置库中提取已更改的清单,并将新镜像部署到群集。
在上节中介绍了GitOps采用拉式模式构建交付流水线,本节将详细地介绍在构建GitOps流水时需要注意哪些事情,有哪些最佳实践。
这是一个新图,显示部署上游的所有内容都围绕Git库工作的。在“拉式流水线”中讲过,开发人员将更新的代码推送到Git代码库,CI工具获取更改并最终构建Docker镜像。GitOps的ConfigUpdate检测到有镜像,从存储库中提取新镜像,然后在Git配置仓库中更新其YAML。然后,GitOps的DeployOperator会检测到群集已过期,并从配置库中提取已更改的清单,并将新镜像部署到群集。
使用群集内部的DeployOperator,群集凭据不会在生产环境之外公开。一旦将DeployOperator安装到集群与Git仓库建立连接,线上环境中的任何更改都将通过具有完全回滚的Gitpull请求以及Git提供的方便审计日志完成。
由于没有单一工具可以完成流水线中所需的所有工作,可以从开源生态系统中选择一组工具,也可以从封闭源中选择一组工具,或者根据使用情况,甚至可以将它们组合在一起,其实,创建流水线最困难的部分是将所有部件粘合在一起。要实现GitOps,必须要开发出新的组件,用于粘合这些工具,实现拉式交付流水线。
部署和发布自动化是应用落实GitOps,并使交付流水线工作的基础。GitOps不仅要保证,当开发人员通过Git更新配置文件集的时候,GitOps流水线要自动根据最新的配置文件状态更新线上环境,而且GitOps还要能够实时比对Git库中配置文件集最新的状态与线上环境最新的状态保持一致。
在上节中提到了两个名词:ConfigUpdate和DeployOperator,根据GitOps的实践,ConfigUpdate和DeployOperator是需要进行设计开发的,它们是实现GitOps流水线必须的关键组件。GitOps赋予了它们神奇的魔法,它们既是自动化容器升级和发布到线上环境的工具,可能也要负责服务、部署、网络策略甚至路由规则等任务。因此,ConfigUpdate和DeployOperator是映射代码,服务和运行集群之间所有关系的“粘合剂”。
当然,您可以根据具体的设计,赋予各种其他的功能,但是自动同步是一定需要的,确保如果对存储库进行任何更改,这些更改将自动部署到线上环境中。
“可观察性就像生产中的驱动测试一样。如果你不知道如何确定它是否正常工作,请勿接受pullrequest。@mipsytipsy“-AdrianoBastos
如果大家使用Kubernetes作为云原生环境和容器编排工具,相信大家会有这样的感触,虽然Kubernetes是一个非常棒的编排容器平台,但是随之而来的缺乏友好的可视化管理界面给开发人员或者运维人员带来诸多不便。例如:
大家可能会想到通过监控服务器的CPU、内存、网络等,以及应用的日志,甚至微服务的调用链等来解决问题。是的,这个没有错,能够得到一些反馈信息,但是使用过类似监控的开发人员或者运维人员也会感觉,这些监控仪表盘给我们大量冗繁的信息,需要认真地甄别,而且有很多信息在这些仪表盘中是获得不到的。这意味着需要创建新的仪表盘,用于监控新的指标和内容。
在这里GitOps引入一个新的工具:Diffs,用来监控对比系统状态。即:
例如,Kubernetes集群:所需的Kubernetes状态可能是“有4个redis服务器”。Diffs定期检查群集,并在数量从4变化时发出警报。一般而言,Diffs将YAML文件转换为运行状态查询。
GitOps是面向发布的操作模型,请参见下图。交付速度取决于团队在此周期中绕过各个阶段的速度。
由于以安全的方式跟踪和记录更改,因此合规性和审计变得微不足道。使用Diffs等比较工具还可以将Git库中定义的集群状态与实际运行的集群进行比较,从而确保更改与实际情况相符。
几乎所有的Git库都提供角色和权限控制,与开发和运维无关的人员没有权限操作Git库。而不是直接把服务器或者集群的操作权限散发出去,这样特别容易引起安全泄露。
借助GitOps的最佳实践,开发人员可以使用熟悉的Git工具,便捷地将应用程序和其对应的配置文件集持续部署到Kubernetes等云原生环境,提高业务的敏捷度,快速地相应用户的需求,有助于增加企业市场的竞争力。
借助GitOps,可以实现一个完整的端到端的交付流水线。不仅可以实现拉式的持续集成流水线和持续部署流水线,而且系统的运维操作可以通过Git来完成。更强大的安全保证几乎所有的Git库都提供角色和权限控制,与开发和运维无关的人员没有权限操作Git库。而不是直接把服务器或者集群的操作权限散发出去,这样特别容易引起安全泄露。
由于以安全的方式跟踪和记录更改,因此合规性和审计变得微不足道。使用Diffs等比较工具还可以将集群状态的可信定义与实际运行的集群进行比较,从而确保跟踪和可审计的更改与实际情况相符。
现在越来越多的项目使用Git作为版本控制的工具,通过Git进行分支和Tag管理,大多数情况这个过程都由手工完成,缺乏相应的规范,对于分支和版本号的控制也很随意,出现这样的情况往往是大家对软件交付过程中的软件版本控制不够重视,“只要确保软件是最新的版本即可”,甚至是项目管理的漏洞或者缺陷。其实软件的版本控制以及分支管理贯穿于整个软件产品的生命周期,日常的项目管理对于开发团队能否有节奏且顺利的交付软件也很重要。
如何来解决这些问题呢?
有经验的老司机可能会说,“建立规范”。
是的,只有建立规范,才能抑制不好的事情继续在项目组蔓延。至于建立什么样的规范?我们不妨先制定一个目标。
GitFlow、GitHubFlow等都是已经被证明很有效的分支管理模型,但是这些更多的是书面的规则、约定,基本上是靠着程序员的自觉性和Git命令一起维持着这个约定,其实无数的经验告诉我们“这很脆弱”。所以,如何使用系统界面化操作将这些规则和约定表示出来,就变得很有意思。
不要着急,先来看看Choerodon猪齿鱼提供的分支模型,Choerodon使用GitLab进行分支管理,默认分支为master。目前支持七种常见的分支类型:
注:
这7个分支就是我们手中的7个魔方,通过这7个魔方的组合可以变化出无尽的分支管理模型,比如GitHubFlow。
GitHubFlow分支模型只存在一个master主分支,日常开发都合并至master,永远保持其为最新的代码。
这个分支模型的优势在于简洁易理解,将master作为核心的分支,代码更新持续集成至master上。根据目前收集到的反应来看,得到了更多的好评,认为GitHubFlow分支模型更加轻便快捷。
如果GitHubFlow不合适,可以使用GitLabFlow或者GitFlow,也可以自行定义规则。这里没有“银弹”,只是相对比较灵活的配置。
有了分支管理模型,还需要命名规约,不同类型的分支命名方式应该不同,值得庆幸的是,猪齿鱼已经帮你完成了这个步骤。feature、bugfix分支的分支名使用的是关联问题的issue号(在猪齿鱼中打通了需求和代码分支的关连关系),对于release及hotfix,分支名可命名为需要发布的版本号,如0.8.0、0.8.1等。在这里使用到了类似0.8.0这样的版本编号规则,如果你对此不了解,没有关系,在下面将详细的介绍。
除了分支的名称需要规范,提交的命名也同样如此。不幸,猪齿鱼并没有把这个规则固化到系统中,需要团队共同遵守。
格式为:[操作类型]操作对象名称,如[ADD]readme,代表增加了readme描述文件。
常见的操作类型有:
合并请求是开发过程中必不可少的一个环节,其中有如下一些重要的事情要做:
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:1.主版本号:当你做了不兼容的API修改,2.次版本号:当你做了向下兼容的功能性新增,3.修订号:当你做了向下兼容的问题修正。先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。Copy这就是“语义化的版本控制”最核心的规则,当然这不是全部,TomPreston-Werner还详细的阐述了主版本号、次版本号和修订号的变化递增规则,不过这些规则很长,很复杂。
没有关系,猪齿鱼帮我们做了这些复杂的事情,将“语义化的版本控制”固化到了系统中,简而言之,
一直以来,需求一般和系统的功能联系在一起,但是与代码关连却不常见,如果能将需求和代码联系在一起,奇妙的化学反应就发生了。
“我们可以追溯到一个用户故事对应了哪些分支,哪几个提交”,“甚至出现了一些BUG,可以找到是哪个分支提交的,当初为了发布XXX新的需求”,“不仅如此,我们通过需求与代码分支关连,能够查看到哪些需求已经部署到了测试环境,那些需求已经部署到了正式环境”,“可以做从业务到代码的整个链条的统计分析...”
...
这一切,猪齿鱼已经帮助项目管理者和程序员实现了。在猪齿鱼的敏捷管理服务中,可以通过用户故事、任务、缺陷等直接一键创建分支,然后,你可以从gitcheckout-b开始愉快而又有挑战的一天。不仅如此,也可以在分支管理中,将现有的分支关连到用户故事、任务或者缺陷。
2018年7月20日,Choerodon猪齿鱼发布0.8.0版本,为了使您的应用交付更加敏捷化,运营管理更加自动化,本次更新加入了知识管理、测试管理等新服务,并且大量的功能优化也在新版本中得以实现,特别感谢社区中的朋友给Choerodon猪齿鱼提出的诸多中肯意见,让我们一起做的更好!
主要特点:
2.测试管理
敏捷管理服务新推出了新功能方便对版本和问题的管理,主要新增功能如下:
除此之外,敏捷管理服务还增加了问题导出Excel功能,问题转换为子任务,问题复制,以及版本界面新增查看发布日志等功能。
另外,持续交付服务还增加了版本升级的时候通过请求API实现版本间的平滑升级,用导出时默认获取所有应用的最新版本,以及置文件信息支持保存新增的参数等功能。
3.微服务开发框架
在敏捷管理中,0.8版本还修改优化了如下部分功能:
在持续交付中,0.8版本还修改优化了如下部分功能:
在微服务开发框架中,0.8版本增强了部分功能:
0.8版本修复了如下的缺陷:简易创建问题卡顿。问题详情锚点定位不准确。问题标题为编辑状态时切换时,编辑框内容会被清除。富文本编辑器在多英文的情况下断词失败。还有其他已知bug。
0.8版本修复了以下缺陷:
2018年6月29日,全场景效能平台——Choerodon猪齿鱼发布0.7版本。0.7版本主要新增敏捷管理服务、持续交付和微服务开发框架的部分功能,并对他们的服务进行了优化,同时修复了0.6版本若干bug。
敏捷管理服务新增了如下的功能:
并且,在敏捷管理中,0.7版本还增强了如下部分功能:
持续交付服务新增了如下的功能:
同时,在持续交付中,0.7版本还增强了部分功能:
另外,还增强了其它功能,例如:
最后,0.7版本修复了0.6版本的缺陷:
同时,在微服务开发框架中,0.7版本还增强了部分功能:
最后,0.7版本还修复了0.6版本中的bug。
2018年6月10日,全场景效能平台——Choerodon猪齿鱼发布0.6版本。0.6版本主要新增敏捷管理服务,并对已有的服务进行了优化,同时修复了若干bug。