【问题标题】:Continual integration, delivery and deployment of a Springboot Application [closed]Spring Boot 应用程序的持续集成、交付和部署 [关闭]
【发布时间】:2018-10-23 15:53:53
【问题描述】:

我的任务是使用 Gitlab CI、Docker、Kubernetes、Jenkins 和 SonarQube 持续使用 Angular 集成、交付和部署 Springboot 应用程序。我的作业名称是问题的标题,即使用所描述的技术。任何帮助将非常感激。我已经在网上搜索并了解了这些技术。我的问题是:如何以及从哪里开始,我应该定义哪些步骤才能完成我的任务?任何帮助将不胜感激

【问题讨论】:

  • 请提供您用于学习/研究的参考资料。你的高层计划是什么?有流程图吗?
  • 我在 medium.com 上阅读过关于持续集成的文章。阅读每种技术的文档,并观看一些视频教程。我的计划是制作一个 CRUD 应用程序并将其部署在 docker 容器中的私有服务器上。此外,我想使用 Kubernetes 将我的应用程序拆分为微服务。所有这些都必须使用 jenkins 和 gitlab CI 进行持续集成
  • medium.com 在哪里?
  • 好吧,这不是一篇技术文章。问题,为什么要使用 2 CI 服务? GitLab CI 和 Jenkins。当然应该只有一个。这是一个更好的tutorial

标签: docker spring-boot jenkins kubernetes sonarqube


【解决方案1】:
  • 在 gitlab 中创建一个带有分支 test 和 prod 的 repo
  • 设置 docker 镜像构建管道(用于两个分支),它将构建/测试代码并使用多状态构建 (gitlab CI) 将其打包到 docker 镜像中

  • 配置触发部署到测试环境的 webhook(在 jenkins 或 gitlabci 中)

  • 配置可以手动运行以部署到生产环境的下游作业(在 jenkins 或 gitlab CI 中)

  • 在上面的两个部署步骤中,您都需要 kubernetes 的 declatrivate 部署清单

以上只是基础知识,还有很多其他工具可以用于 kubernetes 部署。

通常的做法是将代码提交到 testing/dev,然后在映像到达注册表后立即构建/测试 docker 映像和触发测试部署。如果一切顺利,那么您只需将更改移植到 prod 分支,该分支将再次触发管道以构建/测试 prod 映像,然后进行部署。

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 2013-04-20
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2017-04-17
    相关资源
    最近更新 更多