Jenkins Blue-Green部署中的单一责任原则

时间:2016-07-11 16:33:28

标签: jenkins continuous-integration continuous-deployment jenkins-pipeline

我想使用Jenkins'来构建一种Blue-Green Deployment。管道。它应该调用单独的工作来完成整个过程。假设我有两台服务器可用于负载均衡器: web1 web2 。我的想法是实施以下步骤:

  1. 从SVN结账
  2. 构建项目
  3. 运行单元测试
  4. 将项目部署到 web2
  5. web2
  6. 上运行Selenium-Tests
  7. web2 添加到loadbalancer
  8. 从loadbalancer中删除 web1
  9. 将项目部署到 web1
  10. 从loadbalancer中删除 web2
  11. web1 添加到loadbalancer
  12. 此工作流程允许将辅助服务器用作纯测试机器,同时确保项目的可用性。

    但是,由于技术原因,部署每天只应运行一次,我希望每次提交至少运行单元测试作业,以便我的同事立即获得反馈和报告(持续集成 EM>)。

    Deploy-Jobs 也应该使用特定的开发服务器作为参数手动构建。

    毋庸置疑,这些工作依赖于彼此,例如:

    • 构建取决于结帐
    • 单元测试取决于 Build

    步骤4和步骤8应该是相同的作业,以及步骤6和10,以及7和9,都通过参数控制。

    我如何实现这种情况?

    提前感谢您的帮助!

0 个答案:

没有答案