使用Node.js / React App处理构建 - 使用Jenkins和Docker的最佳实践

时间:2017-03-27 12:16:17

标签: node.js git amazon-web-services reactjs jenkins

今天我们创建了一个Node.js / ReactJS应用程序。我们使用Bitbucket(git repo),Docker容器以及Jenkins + AWS ECS(弹性容器服务)。

我们今天使用的流程是,当我们准备好部署并准备好新版本时,我们进入 / assets 目录并运行命令gulp build。这将处理整个构建/缩小过程,最后为我们提供版本号。从这里我们检查到git repo,因为它有版本,这将成为repo中的标签。一切都好,对吗? :)

从这里,在Jenkins中我们可以简单地运行构建选择Prod / Master作为示例,它负责抓取所有npm包,将docker镜像推送到ECR,更新ECS中的修订版。并且该服务已启动并正在运行。

在我看来,我们不应该在本地运行这个gulp build命令,而是必须检查git repo。更不用说这使得git repo有点乱,而且对于其他开发人员而言,将“编译”的缩小文件放在那里并不是一个很好的解决方案。

更好的做法是让这个gulp build在Jenkins上运行吗?

但是,我相信我们仍然希望在git repo中保留标记?还有其他方法可以实现吗?

有没有人处理过类似的问题或者有类似的最佳做法?

真的好奇听到你的想法。

提前致谢。

1 个答案:

答案 0 :(得分:1)

没有"最佳做法"但如果你想让它变得不那么混乱你可以看一下使用Jenkins文件:https://jenkins.io/doc/book/pipeline/jenkinsfile/

无论您拥有什么命令或任何命令都无关紧要,这只是Jenkins做这件事的最佳做法。所以gulp build 应该在Jenkins上运行。唯一的过程应该是提交和推送。詹金斯应该处理剩下的事情。