Jenkins 实现 k8s 发布

99 阅读1分钟

1. 创建 Jenkins 任务

1.1. 创建流水线任务

  • 定义 Pipline script
pipeline {
    agent any
    environment {
        DOCKER_REGISTRY = 'your-docker-registry'
        IMAGE_NAME = 'your-image-name'
        IMAGE_TAG = 'latest'
        K8S_NAMESPACE = 'your-k8s-namespace'
        K8S_DEPLOYMENT_NAME = 'your-k8s-deployment'
    }
    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage('Build') {
            steps {
                sh 'mvn clean package' // 替换成你的Java代码构建命令
            }
        }
        stage('Build Docker Image') {
            steps {
                script {
                    def dockerImage = docker.build("${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}")
                    dockerImage.push()
                }
            }
        }
        stage('Deploy to Kubernetes') {
            steps {
                script {
                    sh "kubectl set image deployment/${K8S_DEPLOYMENT_NAME} ${K8S_DEPLOYMENT_NAME}=${DOCKER_REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} -n ${K8S_NAMESPACE} --record"
                }
            }
        }
    }
}

2. 测试验证