前端团队工程化实践(上)

开发流程规范

CI/CD 

项目管理规范

组件化

前后端协作

 

开发流程规范

  • 良好的文档
  • Git message 提交规范
  • 良好的编码规范
  • 版本管理
  • 自动化测试
  • 开发者体验
  • ……

良好的文档规范

README、文档页面、变更日志

Git message 提交规范

良好的编码规范

编码规范 + 工具检查 / 插件使用 + 严格执行 

OR

Code with fun and fix with tear ?

好的编码规范益处

  • 统一团队成员的代码书写风格习惯和语法特性规则
  • 保证代码可 Review,友好的 CR 体验
  • 工具化或过程自动化,减少沟通成本
  • 保证代码质量,降低代码维护成本,减少 bug 风险
  • 团队成员代码质量和编码能力提升

如何强制执行,养成良好的编码规范?

演示 :限制提交 & 日记生成 & 编码规范

版本管理

代码分支及版本管理规范

基于 Git 的简单实用的版本管理规范及流程,包括:代码库的分布、人员角色的划分、代码提交合并流程、代码冲突处理、分支管理。

代码版本管理流程

自动化测试

开发者体验

CI/CD

传统方式

持续集成(Continuous Integration)

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续交付(Continuous Delivery)

持续交付在持续集成的基础上,将集成后的代码署到更贴近真实运行环境的「类生产环境」中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

持续部署(Continuous Deployment)

持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。

从频繁提交代码、自动化测试(保证测试覆盖) —> 运行本地测试 > 服务器运行测试 > 部署到测试环境 > 交付管理 等,这些都应该是工具化和自动化的。

DevOps

DevOps文化通常与持续交付相关联,因为它们都旨在增强开发人员和操作团队之间的协作,并且都使用自动化流程来更快、更频繁、更可靠地构建、测试和发布软件。所有像我们这样的人想要的东西。

Gitlab CI 实践

演示

第一步先初始化,第二步检查代码规范,第三步进行单元测试,第四步构建,第五步就直接将项目部署到服务器

Pipelines

CI工具

Jenkins

Circle CI

Gitlab CI

Travis CI

评价

Made with Slides.com