背景
为了测试云效Flow是否满足我们企业的应用场景,一般来说,使用K8S部署场景如下:
1. 对源代码进行一定的质量检测,例如单元测试、代码扫描等。
2. 将源代码构建成为可交付的制品,也就是容器镜像。
3. 对制品进行测试环境验证。
4. 使用完成验证的制品进行线上部署。
5. 使用基础设施即代码的方式,在代码库中管理与应用相关的所有YAML文件。
活动需要有不同角色的参与:开发、测试、运维。如何保证不同参与者可以使用统一的交付流程来进行协作,是云效Flow交付流水线要解决的主要问题。
测试过程
访问SpringBoot示例应用
1. 集群发布成功后,点击 Kubectl发布 查看集群发布日志,可以看到发布成功的HOSTS和ADDRESS地址。
说明:如果运行流水后没有出现ADDRESS地址,重新运行一次流水即可。
在浏览器输入域名,返回页面如下所示,则SpringBoot示例应用部署成功。
修改任意代码,触发持续交付
因为我们在前面开启了代码源触发,所以当检测到master分支有代码进行变更,将会自动触发流水线的运行。
通过云效持续交付流水线和kubernetes很好的结合在一起,为应用的持续交付提供了很好的基础保障。
开发者提交代码变更到代码仓库,云效在监听代码库的变动,一旦代码发生变化,将自动触发云效持续部署流水线一次构建任务的运行,包括代码检查、构建、测试部署、测试验证和生产环境部署等过程。
其中,在构建完之后,生成Docker镜像,并自动上传至应用镜像仓库,在部署阶段时,获取当前流水线实例构建出来的镜像版本,通过kubernetes进行容器编排部署。而这一切,都是通过自动化的手段进行完成。
测试心得
云效产品,一体化 DevOps 研发平台,从项目管理到代码、知识库、DevOps 的一体化平台,无需多个系统间切换,极大提升工作效率。除此之外,适合多种协作场景,提供不同的项目管理模板,从通用的团队协作到专业的敏捷实践均可覆盖,并可根据自身业务流程进行自定义,提供包括看板、日历、甘特图、燃尽图以及多层级列表,直观了解项目进展.强大的自定义能力,可以自定义任务类型、状态、任务字段,标签、优先级、显示字段等等,应有尽有。在代码管理方面高效的代码审查,同时支持 PR 和 CR 模式,提供便利且规范的代码评审流程,内置强大的静态代码规范、漏洞扫描工具,可以为评审环节提供更全面的代码质量提示和修改建议信息.精细的权限管理,多维度、细粒度的权限体系满足各种规模企业的需求,支持仓库、分支以及目录文件级别的精细化权限管控,这些特性都非常适合我们研发人员。