首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gitlab和docker等工具处理大型部署

如何使用gitlab和docker等工具处理大型部署
EN

DevOps用户
提问于 2018-11-27 13:06:36
回答 1查看 191关注 0票数 3

如何使用gitlab部署同一个应用程序的多个实例(40+)?(这是一个简单的tomcat网络应用程序)

我希望能够单独升级/降级他们使用网络接口。

我们已经有了一个可以工作的gitlab+docker管道,它可以部署一个应用程序的一个实例。我们还没有使用k8s。

我们应该为每个实例创建gitlab环境吗?除了gitlab环境,我们还有更好的选择吗?

更新:实例(网站)确实不同,它们有相同的代码库,但配置不同。现在,缩放不是一个优先事项,我们真正想要的是有一个界面来添加、部署、升级和降级网站。我在一个较小的项目上尝试过gitlab环境,当你有一个或两个网站的时候,它真的很棒,但是当你有10个或更多的网站时,每个网站都有一个环境。gitlab-ci.yml成倍增长。

EN

回答 1

DevOps用户

发布于 2018-11-29 22:46:34

文档显示您可以拥有具有不同配置的40+分支。您表示担心配置会变得很大。有一个好的编辑并不是什么问题。但这感觉不对,对吧?

通常,使用git,每个独立部署的存储库比包含许多独立部署对象的单个存储库工作得更好。因此,另一种布局不是一个有40个分支的回购,而是1+40 repos。这将是构建最新代码和创建释放的1 repo。然后,代表为一个网站配置的部署特定版本的代码的配置的40个repos。部署代码的40个repos可以保存每个网站的40个配置和一个标准化的构建脚本,该脚本只需下载代码的正确版本,并将其部署到环境中。

我们使用1+N+M git repos。我们有一个repo保存部署脚本。它们是版本化和发布的。我们有N个repos将不同的应用程序构建到版本中。目前,两个php应用程序和两个反应应用程序一起工作,但部署和升级是独立的。然后是代表我们部署到的环境/站点的deploy,这些环境/站点目前只处于暂存状态和活动状态。

我们使用的是k8s (OKD),部署脚本使用的是helm。这仅仅意味着我们的部署脚本和环境设置更简单,回滚/降级完全自动化。在构建过程中,我们实际上并不下载要部署的应用程序。相反,我们只需推出要部署到给定环境中的代码版本的docker注册表标记。

我开始了一个项目,以提供我们从git部署应用程序的方法,这个项目被称为强迫症。这仍然是一个正在进行的工作,但它展示了上述一些想法。

票数 3
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/5550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档