Просмотр исходного кода

ci: dev分支,更新Jenkinsfile文件

liujia 2 месяцев назад
Родитель
Сommit
8309e78c18
1 измененных файлов с 13 добавлено и 104 удалено
  1. 13 104
      Jenkinsfile

+ 13 - 104
Jenkinsfile

@@ -4,19 +4,16 @@ pipeline {
     parameters {
         choice(name: 'env', choices: ['dev', 'test', 'prod'], description: '部署环境')
         string(name: 'NAMESPACE', defaultValue: 'hfln-dev', description: 'K8s 命名空间')
-        string(name: 'DOMAIN', defaultValue: '', description: 'Ingress 域名(留空则不创建 Ingress)')
     }
 
     environment {
-        PROJECT_NAME       = 'portal-service-frontend'
-        BUILD_DIR          = 'dist'
-        NODE_ENV           = 'production'
-        HARBOR_HOST        = '8.130.28.21:81'
-        KUBECONFIG_PATH    = '/root/.kube/config'
-        NODE1_IP           = '172.27.73.147'
-        NODE2_IP           = '172.27.73.146'
-        HARBOR_USER        = 'admin'
-        HARBOR_PASS        = 'Hfln@1024'
+        PROJECT_NAME    = 'new-portal-frontend'
+        BUILD_DIR       = 'dist'
+        NODE_ENV        = 'production'
+        HARBOR_HOST     = '8.130.28.21:81'
+        KUBECONFIG_PATH = '/root/.kube/config'
+        HARBOR_USER     = 'admin'
+        HARBOR_PASS     = 'Hfln@1024'
         HARBOR_RETENTION_ID = '1'
     }
 
@@ -62,102 +59,14 @@ pipeline {
             }
         }
 
-        stage('🔍 测试节点能否拉取镜像') {
+        stage('📦 Kubernetes 部署') {
             steps {
                 script {
-                    echo ">>> 测试节点能否拉取镜像..."
-                    sh """
-                        ssh root@${NODE1_IP} docker login -u ${HARBOR_USER} -p ${HARBOR_PASS} ${HARBOR_HOST} && docker pull ${IMAGE_TAG} || echo '[❌ 节点 node1 拉取失败]'
-                        ssh root@${NODE2_IP} docker login -u ${HARBOR_USER} -p ${HARBOR_PASS} ${HARBOR_HOST} && docker pull ${IMAGE_TAG} || echo '[❌ 节点 node2 拉取失败]'
-                    """
-                }
-            }
-        }
-
-        stage('�� Kubernetes 部署') {
-            steps {
-                script {
-                    def domain = params.DOMAIN.trim()
-                    def ingressBlock = domain ? """
----
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  name: ${PROJECT_NAME}
-  annotations:
-    nginx.ingress.kubernetes.io/rewrite-target: /
-spec:
-  rules:
-  - host: ${domain}
-    http:
-      paths:
-      - path: /
-        pathType: Prefix
-        backend:
-          service:
-            name: ${PROJECT_NAME}
-            port:
-              number: 80
-""" : ""
-
-                    echo ">>> 开始部署至 Kubernetes 命名空间:${params.NAMESPACE}"
-
                     sh """
                         export KUBECONFIG=${KUBECONFIG_PATH}
-                        kubectl get ns ${params.NAMESPACE} || kubectl create ns ${params.NAMESPACE}
-
-                        # 检查Deployment是否存在
-                        if kubectl get deployment ${PROJECT_NAME} -n ${params.NAMESPACE} >/dev/null 2>&1; then
-                            echo ">>> Deployment已存在,更新镜像..."
-                            kubectl set image deployment/${PROJECT_NAME} ${PROJECT_NAME}=${IMAGE_TAG} -n ${params.NAMESPACE}
-                        else
-                            echo ">>> Deployment不存在,创建新的Deployment..."
-                            kubectl apply -n ${params.NAMESPACE} -f - <<EOF
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: ${PROJECT_NAME}
-spec:
-  replicas: 2
-  selector:
-    matchLabels:
-      app: ${PROJECT_NAME}
-  template:
-    metadata:
-      labels:
-        app: ${PROJECT_NAME}
-    spec:
-      containers:
-      - name: ${PROJECT_NAME}
-        image: ${IMAGE_TAG}
-        ports:
-        - containerPort: 80
-        env:
-        - name: NODE_ENV
-          value: "${params.env}"
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: ${PROJECT_NAME}
-spec:
-  type: NodePort
-  selector:
-    app: ${PROJECT_NAME}
-  ports:
-  - port: 80
-    targetPort: 80
-    nodePort: 30088
-${ingressBlock}
-EOF
-                        fi
+                        kubectl -n ${params.NAMESPACE} set image deployment/${PROJECT_NAME} ${PROJECT_NAME}=${IMAGE_TAG}
                     """
-
-                    if (domain) {
-                        echo ">>> ✅ 部署完成,访问地址:http://${domain}/"
-                    } else {
-                        echo ">>> ✅ 部署完成,访问地址:http://${NODE1_IP}:30088/"
-                    }
+                    echo "✅ 已更新部署镜像至 K8s"
                 }
             }
         }
@@ -178,7 +87,7 @@ EOF
             }
         }
 
-        stage('�� 清理悬空镜像 <none>') {
+        stage('🧹 清理悬空镜像 <none>') {
             steps {
                 script {
                     sh """
@@ -189,7 +98,7 @@ EOF
             }
         }
 
-        stage('�� 触发 Harbor 镜像保留策略') {
+        stage('🧹 触发 Harbor 镜像保留策略') {
             steps {
                 script {
                     sh """
@@ -204,7 +113,7 @@ EOF
 
     post {
         success {
-            echo "✅ 构建 & 部署成功 ��"
+            echo "✅ 构建 & 部署成功 🎉"
         }
         failure {
             echo "❌ 构建或部署失败,请检查日志"