前端持续集成与部署方案-思路(一)

lxf2023-05-03 00:56:31

一、背景

随着业务不断发展项目变得日益增多,项目集成、 部署的过程变得频繁、漫长、复杂且不统一,不利于问题在第一时间被发现和解决,人工操作带来效率低下的同时也更易出现错误甚至故障。
所以为解决上述问题,需要设计一套项目组通用的持续集成与部署方案。

二、名称定义

名称描述
持续集成(Continuous integration,简称CI)频繁地将代码集成到主干
持续交付(Continuous delivery)频繁地将软件的新版本,交付给质量团队或者用户,以供评审
持续部署(Continuous deployment)持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境

三、场景

项目中不同干系人在持续集成和部署中会遇到的不同场景,如图所示前端持续集成与部署方案-思路(一)

四、方案设计

1.结构设计

前端持续集成与部署方案-思路(一)

2.技术选型

前端持续集成与部署方案-思路(一)

使用GitLab Pipeline进行持续集成,主要考虑以下几个方面:

  • 作为统一的持续集成入口,简化开发人员维护的难度
  • 不需要配置WebHook,代码维护过程上下文也能够轻易感知
  • 自身拥有一定的权限控制机制
  • 流水线定义方便、灵活,学习成本较不算太高
  • 提供的功能丰富,有利于流水线个性化定制,包括且不限于:分支模糊匹配、多语言的代码构建、测试报告、构建产物存储、性能测试报告等
  • 官网文档丰富,版本迭代快,CICD功能上迎合了许多主流第三方工具或平台(如:k8s、sonar扫描、多语言构建镜像等)
  • 提供分布式Runner,分散流水线不同阶段的资源压力

CICD工具对比

对比项JenkinsCircleCITeamCityBambooGitLab
开源
使用难度中等中等中等中等中等
内置功能少(需要插件)中等中等中等中等
部署方式本地 & 云本地 & 云本地本地本地 & 云
免费使用
操作系统Windows,Linux,macOS,Unix-like OSLinux,macOSWindows,Linux,macOS,Solaris,FreeBSD等Windows,Linux,macOS,SolarisLinux:Ubuntu、CentOS、Debian等

未完待续

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!