9

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

现在我使用 Jenkins 和 Kubernetes 成功部署了我的 Spring Boot 微服务。我使用 kubernetes 部署到不同的命名空间。当我提交时,一个 post commit hook 将从我的 SVN 存储库中工作。而那个 post commit hook 将触发 Jenkins Job。

我的困惑

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

任何人都可以建议我找出任何有用的文档/教程来实现 CI/CD 管道中的反馈循环吗?

4

1 回答 1

7

获取部署反馈的方法取决于您的服务和您的选择。例如,您可以检查容器是否已启动或检查其余 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 的监控工具。

这是 DevOps 各个部分的一些流行工具的示例图片: 在此处输入图像描述

于 2019-08-31T11:51:42.773 回答