pipeline { agent any parameters { gitParameter( branchFilter: 'origin/(.*)', defaultValue: 'main', name: 'Code_branch', type: 'PT_BRANCH', selectedValue: 'DEFAULT', sortMode: 'NONE', description: '选择代码分支: ', quickFilterEnabled: true, tagFilter: '*', listSize: "1" ) } environment { REMOTE_HOST = "43.159.145.241" // 远程服务器 {params.REMOTE_HOST} REMOTE_PROJECT_PATH = "/data/tengine/html/apex_web" // 远程 Python 项目路径 } stages { stage('拉取代码') { steps { git branch: "${params.Code_branch}", credentialsId: 'fly_gitlab_auth', url: 'http://172.24.16.20/web/apex-platform-fe.git' } } stage('pnpm install') { steps { script { sh """ export PATH="/data/node-v20.15.0/bin:$PATH" echo "开始安装依赖包" cd ${WORKSPACE}/ && rm -rf node_modules && pnpm install echo "依赖包安装完成" """ } } } stage('pnpm build') { steps { script { sh """ export PATH="/data/node-v20.15.0/bin:$PATH" echo "开始构建" cd ${WORKSPACE}/ && rm -rf dist && pnpm build mv dist/main/index.html dist/ chmod -R 755 dist/ """ } } } stage('工程同步') { steps { sh """ ssh ${REMOTE_HOST} 'mkdir -p ${REMOTE_PROJECT_PATH}' rsync -avz ${WORKSPACE}/dist ${REMOTE_HOST}:${REMOTE_PROJECT_PATH}/ """ } } } post { success { echo '✅ 部署成功!' } failure { echo '❌ 部署失败,请检查日志!' } } }