与Jenkins进行React应用的持续集成和持续交付

时间:2018-11-30 13:19:21

标签: docker jenkins amazon-s3 continuous-integration continuous-delivery

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

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

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我同意这个问题有点广泛,但是在这里,但总的来说,您应该为前端和后端应用程序使用不同的CI管道。

这意味着很多,因为这将使您能够:

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

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

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

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