【问题标题】:CI and CD implementation issuesCI 和 CD 实施问题
【发布时间】:2016-03-08 22:57:35
【问题描述】:

我正在寻找在我当前的项目中实施 CI/CD 的方法,我认为这是可行的。

环境包括 - 詹金斯 - 混帐 - 码头工人 - 毕业 - Linux 服务器 - 声纳 - Ansible。

每个工具将按如下方式使用。

  • Git:- 开发人员会将那里的代码推送到此 CVS。
  • Jenkins:- 在检测到签入时,Jenkins 将触发构建并将部署到其中一台服务器。
  • Sonar:- 将用于代码覆盖,并在通过 Jenkins 构建代码之前检查代码。
  • ansible:- ansible 将用于快速准备添加的节点,以便将代码部署到它们。
  • Docker 如果我们每次都需要新的测试环境,我们可以使用 docker+ ansible 组合来做这些事情。

    工作流程将

  • 用户在他的机器上运行单元测试用例并将代码提交到服务器。

  • Jenkins 将从 git 中提取代码并在其上运行声纳并生成报告。
  • jenkins 将创建构建并将其部署在开发服务器上。
  • 将运行 jenkins 作业并将在开发服务器上执行集成测试
  • 可以运行任何其他自动化测试。
  • 最终使用 Jenkins 将构建推送到下一个服务器。
  • 我将在 Jenkins 中使用 shell 命令将编译后的代码从一台服务器推送到另一台服务器。

    在我的这种情况下,有人可以回答我。

  • 声纳在哪里安装以及如何使用?

  • 我看到有 CD 工具,我不能使用编写在 Jenkins 作业中的 shell 脚本将编译后的代码推送到服务器以自动部署这些东西吗? CD 工具有哪些额外好处
  • 创建新的测试环境是否明智,或者我们可以一次又一次地继续使用旧环境?
  • 这会完成 CI/CD 吗?

    有人可以分享那里的实现

【问题讨论】:

    标签: docker continuous-integration sonarqube ansible


    【解决方案1】:

    你说你打算使用 Git。我将在 GitHub 上概述使用 Git 的场景

    1. 开发人员在此处推送代码更改作为拉取请求
    2. SonarQube GitHub Plugin 开始对仅在 PR 中更改的代码进行初步分析,以寻找引入 新问题(请注意,不包括覆盖和重复在此检查中)
    3. 一旦 PR 被合并,Jenkins(一项或多项工作,取决于您的需要)
      • 构建
      • 触发集成测试和任何其他自动化测试
      • 运行 SonarQube 扫描。请注意,最后包含集成测试结果。
      • 将构建推送到下一个服务器

    请注意,在项目未通过您设置的 SonarQube 质量门时中断构建的能力在您的情况下可能是可取的。不幸的是,它在当前服务器版本中不可用:5.2。它在 5.1 中可用,应该返回 soon

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多