pipeline { agent any environment { // REMOTE_HOST = "" // 远程服务器 REMOTE_PROJECT_PATH = "/data/webapps/ins_update" // 远程 Python 项目路径 VENV_DIR = "/data/webapps/ins_update/venv" // 远程虚拟环境目录 CONDA_PATH = "/root/miniconda3/bin/conda" // 修改为实际 Conda 安装路径 } stages { stage('Checkout 代码') { steps { git branch: "${params.Code_branch}", credentialsId: 'fly_gitlab_auth', url: 'http://172.24.16.20/root/ins_update.git' } } stage('进程下线') { steps { echo("下线") sh "ssh ${params.REMOTE_HOST} 'sh /data/sh/kill_ins_update.sh'" } } stage('工程同步') { steps { sh """ ssh ${params.REMOTE_HOST} 'mkdir -p ${REMOTE_PROJECT_PATH}' rsync -avz --exclude 'venv' ${WORKSPACE}/ ${params.REMOTE_HOST}:${REMOTE_PROJECT_PATH}/ """ } } stage('安装依赖') { steps { sh """ ssh ${params.REMOTE_HOST} ' cd ${REMOTE_PROJECT_PATH} && source ~/.bashrc && conda activate py310 && source ${VENV_DIR}/bin/activate && pip install -r requirements.txt ' """ } } stage('工程启动') { steps { echo("启动") sh "ssh ${params.REMOTE_HOST} 'sh /data/sh/run_ins_update.sh'" } } } post { success { echo '✅ 部署成功!' } failure { echo '❌ 部署失败,请检查日志!' } } }