使用 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各个部分的一些流行工具的示例图:
目前我正在尝试使用 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各个部分的一些流行工具的示例图: