检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
环境配置:指那些针对当前应用基本上固定的环境配置。 环境数据:指那些需要在部署的同时根据情况调整的数据,如:配置文件,开发、测试、生产环境的地址等。 Automation自动化系统 自动化在DevOps中的作用不言而喻,这部分的主线一般由各种类型的Build系统来实现,如:Jenkins、Team
主机/代理机连通性验证问题排查方法有哪些? 执行docker login命令失败 启动/停止SpringBoot服务步骤中执行启动命令失败 部署失败,提示“权限不够” SpringBoot服务路径有误 执行Docker命令参数错误 部署失败,提示“Openjdk does not support arm”
计算机,新的生产工具迭代和诞生,出现了新的行业、新行业的发展模式、新的行业思想和理论。 软件行业从最初的CMM、敏捷、DevOps也经历了这个过程,推进这个过程变化的是背后的技术和工具,新的编程语言、新的开发语言、新的工具链支撑了生产力的变革,生产力的变革同时支撑新的生产关系,微服务的团队、全功能的团队的诞生。
流水线常见问题 为什么提交代码时会触发执行没有监听代码提交事件的流水线? 流水线执行失败,提示仓库不存在或仓库已被删除 流水线执行失败,提示测试套正在执行 流水线执行失败,提示任务不存在或者已被删除 流水线配置的定时任务未触发 流水线执行权限不够(执行按钮不可操作) 保存流水线时提示人工审核任务中配置了不属于当前项目的审核人
Master更多的需要和人打交道,很多实际问题的处理方式是必须在实践中才能体会的,有些还很微妙。 也许您对这些知识点的理解不尽相同,这没有关系,同样的框架和方法由于应用的环境与对象的不同,所使用的方法和理解也不一定一样,这也正是Scrum的特色之一,它帮助你找到最适合你的方式。Scrum并不是你需要严格执行的流程,而是帮助你找到适合自己的流程的框架。
虽然,一个放之四海而皆准的方法是不存在的,但在更高的层面上,笔者仍然觉得这是可行的。也就是说,管理模型是一致的,但是其中采用的方法可能各有不同。最终目标是唯一的:打造一支可以快速适应变化的高质量团队,并输出高质量的产品! 用户故事的主要问题 用户故事可以帮助开发团队从用户的角度来理解需求,
用贷款买房来类比架构投入,自己出的首付款就像是前期在架构上的投入,贷款就好比是减少一定的架构投入,所需承担的技术债务: 贷款买房,预期的是未来的房产的增值,贷款的利息相较起来是可以接受的。 创业期也是同样,此时承担一定的技术债务是明智合理的选择。 一味追求全款买房,就会错过买房的最好时间窗口。
是技术赋能业务的最典型场景,也是最有力的支撑。 最终,持续交付归结为一句话,痛苦的事情反复做。 下图所示的持续交付的原则中,红体字描述的,是最与技术无关的一个实践,却也是最重要的核心理念:提前并频繁的做让人感到痛苦的事。 小结 在开始行动之前,首先应思考需要解决的是什么问题,而不是去问应该采纳何种方式。
代码的提交触发后续的测试,以及线上的环节,一个工具链打通完整的路径,实现端到端的交付和支持。 不同研发模式下流水线的应用与思考 第二部分重点讲述基于华为的流水线支撑的实践,支持三种主流模式: 第一种模式:大规模开发 华为起家的核心是交换机,交换机本身业务分成多层架构,例如上面的
做转型的,现在已经百人以上,没有用这种框架,我们做的也很好,所以框架并不是必须的。 构建全功能团队 华为用的是全功能团队,华为对全功能团队有自己的定义。华为有这样的特点:任何一个方法论,在华为有自己的定义,这个定义跟业界的定义可能不完全一样。 总的来说,全功能团队在华为的定义是:
逐一的暴露问题,解决问题,交付能力自然提升。 需要注意的是,根据《凤凰项目》中提到的TOC约束理论(Theory of Constraints),在瓶颈之外的任何地方做出的改进都是假象,在瓶颈之后做的任何改进都是徒劳的,因为只能干等着瓶颈把工作传送过来,而在瓶颈之前做的任何改进
自组织是系统自下而上、自发的属性,没有传统的自上而下、命令与控制的管理方式,即便是Scrum Master也不应该冒昧干预,这样的自组织拥有非凡的稳定性和产生惊人的新颖性。 由T型技能的员工组成 T型技能的意思是既要有深度又要有广度。 团队成员拥有适合的技能,覆盖各个专业领域,并且总体上
缺乏自动化的持续集成工具。 推荐搭配 需求管理、代码托管、编译构建、测试计划、部署、流水线。 实现结果 开发人员高效协作,项目开发周期可控可观,快速响应客户需求。 传统企业互联网+转型 研发挑战 传统企业在进行互联网+转型的过程中,由于软件开发能力较低,无法有效地度量软件的进度、生
通过流水线参数串联编译构建服务和部署服务 基于Kubernetes原生Service的场景完成微服务蓝绿发布 代码检查 使用预置规则检查GitCode代码仓中的代码质量 使用预置规则检查通用Git代码仓中的代码质量 使用自定义规则检查CodeArts Repo代码仓中的代码质量 编译构建 基于Maven构建产物制作Docker镜像并发布到镜像仓
架构等的协调统一。 分层分级的部署流水线 “高质量的交付”,质量如何界定?功能和非功能的都算上,质量验证的手段也是分层的,验证就是反馈,为了快速获取反馈,这些手段分布在整个流水线的各个阶段。 部署流水线,是保障质量并缩短部署前置时间的有效支撑。同时,部署流水线,是分层分级的。 从
单的讨论可以直接通过工作项的讨论进行,但需要牢记的是,文字的讨论永远无法取代面对面或是电话的沟通。 Confirmation(确认):用户故事并不具备契约性质,达成协议的验证要点是测试的依据,用来验证用户故事是否符合用户的期望。在用户故事编写工作坊中,验证信息可以写在故事卡片的背
个多余的操作造成的。怎么杜绝这个事情?只有自动化。只有没有人参与的过程才是不会犯错误的。在生产环境的自动化保证了高质量向用户交付的基本要求。 首先,自动化的变更指的是当决定向云端发布一个新版本的时候,从版本流出一直到线上功能的上线,直到用户可用的过程、审批必须都是自动化的,而不是
影响地图是一个简单却极高效的协作性的策略规划方法。 有的产品,它还活着,却已经死了;有的产品,还没发布,就已经死了。太多的产品失败的案例,源于方向性错误,基于错误的假设,功能与业务目标/价值之间缺乏必然的关联与一致性,在做的事与期望的目标南辕北辙。 影响地图试图通过结构化、可视化、协作化的方式来从源头解决上述问题。
务之间的频繁沟通,快速响应变化。 而DevOps的出现,是为了解决开发与运维之间的鸿沟。前端的敏捷的确是快了,却发现因为Dev与Ops之间的隔阂,无法真正的将价值持续的交付给客户。 开发侧很快,运维侧太稳,这个就是我们常说的开发与运维之间固有的、根因的冲突,即下图中的混乱之墙。开
有Web上的容器设置。CodeArts使用的是前端的Angular框架,关于Angular框架本身的演进与优化,再到基于业务实践自己抽取的或者实现的主权库以及公共的部分,我们把它看做是固化的部分。固化的意思是说在组织过一次集中的攻关之后,经验和效果很容易被传承下来。它的改动不涉及