今天我们创建了一个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中保留标记?还有其他方法可以实现吗?
有没有人处理过类似的问题或者有类似的最佳做法?
真的好奇听到你的想法。
提前致谢。
答案 0 :(得分:1)
没有"最佳做法"但如果你想让它变得不那么混乱你可以看一下使用Jenkins文件:https://jenkins.io/doc/book/pipeline/jenkinsfile/
无论您拥有什么命令或任何命令都无关紧要,这只是Jenkins做这件事的最佳做法。所以gulp build 应该在Jenkins上运行。唯一的过程应该是提交和推送。詹金斯应该处理剩下的事情。