• jenkins发布springboot到k8s


    pipeline {
        agent any

        stages {
            stage('Checkout') {
                steps {
                    git 'https://github.com/your-repo.git'
                }
            }

            stage('Build') {
                steps {
                    sh 'mvn clean install'
                }
            }

            stage('Docker Build') {
                steps {
                    script {
                        def appName = 'your-spring-cloud-app'
                        def appVersion = '1.0.0'
                        def dockerImage = "${appName}:${appVersion}"

                        // 构建Docker镜像并推送到Harbor服务器上
                        sh "docker build -t ${dockerImage} ."
                        sh "docker login harbor.example.com"
                        sh "docker push ${dockerImage}"
                    }
                }
            }

            stage('Deploy to Kubernetes') {
                steps {
                    script {
                        def appName = 'your-spring-cloud-app'
                        def appVersion = '1.0.0'
                        def namespace = 'your-namespace'
                        def deploymentName = '${appName}-deployment'
                        def serviceName = '${appName}-service'
                        def containerPort = 8080
                        def dockerImage = "harbor.example.com/${appName}:${appVersion}"

                        // 创建Kubernetes部署
                        sh "kubectl apply -f k8s/${appName}-deployment.yaml --namespace=${namespace}"

                        // 更新Kubernetes部署中的镜像引用为Harbor服务器上的镜像
                        sh "kubectl set image deployment/${deploymentName} ${deploymentName}=${dockerImage} --namespace=${namespace}"

                        // 创建Kubernetes服务
                        sh "kubectl apply -f k8s/${appName}-service.yaml --namespace=${namespace}"
                    }
                }
            }
        }
    }
     

  • 相关阅读:
    linux操作系统
    JAVA-7大设计原则【简介】
    某60区块链安全之整数溢出漏洞实战学习记录
    (九)RabbitMQ交换机(Exchange)
    右值引用,移动语义,完美转发
    电源模块测试用例科普:如何调整电压调整率?ATECLOUD-POWER测试系统能否测试?
    央国企信创改造难在何处?先行建设国产身份域管可少走弯路
    【ubuntu 快速熟悉】
    程序员的职业规划,程序员的未来趋势
    11--Django-Ajax使用-前后端序列化、反序列化及layer组件
  • 原文地址:https://blog.csdn.net/datalover/article/details/134388334