Răsfoiți Sursa

Jenkinsfile

dujian 1 săptămână în urmă
părinte
comite
34b12fd106
1 a modificat fișierele cu 19 adăugiri și 34 ștergeri
  1. 19 34
      Jenkinsfile

+ 19 - 34
Jenkinsfile

@@ -2,13 +2,8 @@ pipeline {
     agent any
 
     environment {
-        // 部署目标
-        DEPLOY_HOST = '120.26.186.130'
-        DEPLOY_PATH = '/docker/middleware/nginx/html/alien_website/'
-        // Jenkins 凭据 ID(SSH 私钥,需在 Jenkins 中预先配置)
-        SSH_CREDENTIALS_ID = 'alien-website-deploy-ssh'
-        // SSH 登录用户(按服务器实际用户修改)
-        DEPLOY_USER = 'root'
+        // Jenkins 容器内路径(docker-compose 已挂载 ./nginx/html:/web_deploy)
+        DEPLOY_PATH = '/web_deploy/alien_website/'
         NODE_VERSION = '20'
     }
 
@@ -50,44 +45,34 @@ pipeline {
 
         stage('Deploy') {
             steps {
-                withCredentials([sshUserPrivateKey(
-                    credentialsId: env.SSH_CREDENTIALS_ID,
-                    keyFileVariable: 'SSH_KEY',
-                    usernameVariable: 'SSH_USER'
-                )]) {
-                    sh '''
-                        set -e
-
-                        if [ ! -d dist ]; then
-                            echo "错误: dist 目录不存在,构建可能失败"
-                            exit 1
-                        fi
+                sh '''
+                    set -e
 
-                        chmod 600 "$SSH_KEY"
-                        SSH_OPTS="-i $SSH_KEY -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
+                    if [ ! -d dist ]; then
+                        echo "错误: dist 目录不存在,构建可能失败"
+                        exit 1
+                    fi
 
-                        echo "开始部署到 ${SSH_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}"
+                    if [ ! -d "${DEPLOY_PATH}" ] && [ ! -d /web_deploy ]; then
+                        echo "错误: /web_deploy 未挂载,请检查 docker-compose 中 jenkins volumes 配置"
+                        echo "  - ./nginx/html:/web_deploy"
+                        exit 1
+                    fi
 
-                        # 确保目标目录存在
-                        ssh $SSH_OPTS ${SSH_USER}@${DEPLOY_HOST} \
-                            "mkdir -p ${DEPLOY_PATH}"
+                    echo "开始本地部署到 ${DEPLOY_PATH}"
 
-                        # 将 dist 目录内容同步到网站根目录(不含 dist 文件夹本身)
-                        rsync -avz --delete \
-                            -e "ssh $SSH_OPTS" \
-                            dist/ \
-                            ${SSH_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}
+                    mkdir -p "${DEPLOY_PATH}"
+                    rsync -av --delete dist/ "${DEPLOY_PATH}/"
 
-                        echo "部署完成"
-                    '''
-                }
+                    echo "部署完成"
+                '''
             }
         }
     }
 
     post {
         success {
-            echo "网站已成功部署至 ${DEPLOY_HOST}:${DEPLOY_PATH}"
+            echo "网站已成功部署至 ${DEPLOY_PATH}"
         }
         failure {
             echo '部署失败,请查看上方日志'