使用 Jenkins 和 kubernetes 在 CI/CD 管道中实现反馈循环

Feedback Loop implementation in CI/CD pipeline using Jenkins and kubernetes

目前我正在尝试使用 Jenkins 和 kubernetes 等 DevOps 自动化工具实施 CI/CD 管道。我正在使用这些来部署我使用 spring boot 和 maven 项目创建的微服务。

现在我使用 Jenkins 和 Kubernetes 成功部署了我的 spring 启动微服务。我使用 kubernetes 部署到不同的命名空间。当我提交时,一个 post 提交挂钩将从我的 SVN 存储库中工作。 post 提交挂钩将触发 Jenkins 作业。

我的困惑

当我实施 CI/CD 管道时,我阅读了关于在管道中实施反馈循环的信息。在这里我感到困惑,如果我需要使用反馈循环的实现,那么我可以采用哪些不同的方式?

谁能建议我找出任何有用的 documentations/tutorials 来实现 CI/CD 管道中的反馈循环?

获取部署反馈的方法取决于您的服务和您的选择。 例如,您可以检查容器是否已启动或检查其余容器之一 URL。

我将此阶段作为检查服务的最后阶段:

 stage('feedback'){
        sleep(time:10,unit:"SECONDS")
        def get = new URL("192.168.1.1:8080/version").openConnection();
        def getRC = get.getResponseCode();
        println(getRC);
        if(getRC.equals(200)) {
            println(get.getInputStream().getText());
        }
        else{
            error("Service is not started yet.")  
        }
    }

Jenkins 可以通过发送电子邮件或 json 通知来通知用户有关失败的测试(作业)。阅读更多: https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin
https://wiki.jenkins.io/display/JENKINS/Notification+Plugin
https://wiki.jenkins.io/display/JENKINS/Slack+Plugin

如果你想持续监控已部署的产品,你需要监控工具,它不同于Jenkins。

这是DevOps各个部分的一些流行工具的示例图: