pipeline { agent any environment { REGISTRY = "harbor.xxx.com" IMAGE_NAME = "portal-service-frontend" IMAGE_TAG = "latest" NAMESPACE = "portal-frontends" INGRESS_NAME = "portal-service-frontend" INGRESS_HOST = "radar-power.asia" TLS_SECRET = "portal-tls" } stages { stage('Build Image') { steps { script { sh """ docker build -t ${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${IMAGE_TAG} . docker login ${REGISTRY} -u harbor-username -p harbor-password docker push ${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${IMAGE_TAG} """ } } } stage('Deploy to Kubernetes') { steps { script { sh """ kubectl create namespace ${NAMESPACE} --dry-run=client -o yaml | kubectl apply -f - # 创建 Deployment cat <