首页 > 解决方案 > 使用 Jenkins 进行 React 应用程序的持续集成和持续交付

问题描述

我想为React App我工作的公司设置 CI 和 CD 流程,使用了以下技术:

  1. React对于前端
  2. Flask对于后端
  3. Docker
  4. GitHub用于源代码控制管理

目前我们正在使用脚本来构建应用程序,而不是将其手动部署到AWS S3存储桶中,我已经阅读了一些文章并观看了教程,几乎所有这些都涵盖了Java基于项目的内容,并Maven在部署之前用作构建工具来打包项目。

如果您能提供帮助,将不胜感激。

标签: dockerjenkinsamazon-s3continuous-integrationcontinuous-delivery

解决方案


我同意这个问题有点宽泛,但一般来说,你应该为你的前端和后端应用程序设置不同的 CI 管道。

这会带来很多影响,因为这将使您能够:

  • 为您的后端/前端应用程序使用不同的发布周期
  • 减少构建时间

但是,您可能会在某个时候运行集成步骤以确保所有内容都结合在一起。一般来说,您的管道应该看起来像(这应该在每次提交时运行):

还要确保您选择的 CI/CD 工具不会妨碍您并且足够灵活(例如:GitLab、Jenkins)。

  • 构建 docker 镜像
  • Linter(以确保最小的代码格式和质量)
  • 单元测试
  • 代码覆盖率(代码覆盖率本身有点无用,但结合它的发展方式和执行最低百分比可能有助于提高质量)
  • 功能测试(例如,如果它使用数据库,这对您的后端堆栈更有意义......)
  • 如果一切顺利,则推送到 DockerHub
  • 将最近构建的镜像部署到对应的环境中。示例合并开发意味着部署到您的登台环境

推荐阅读