pipeline { agent any environment { REMOTE_HOST = "43.130.56.138" // 远程服务器 {params.REMOTE_HOST} REMOTE_PROJECT_PATH = "/data/webapps/lessie_sourcing_agents" // 远程 Python 项目路径 VENV_DIR = "/data/webapps/lessie_sourcing_agents/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/python/lessie-sourcing-agents.git' } } stage('进程下线') { steps { echo("下线") sh "ssh ${REMOTE_HOST} 'sh /data/sh/kill_lessie_sourcing_agents.sh'" } } stage('工程同步') { steps { sh """ ssh ${REMOTE_HOST} 'mkdir -p ${REMOTE_PROJECT_PATH}' rsync -avz --exclude 'venv' ${WORKSPACE}/ ${REMOTE_HOST}:${REMOTE_PROJECT_PATH}/ """ } } stage('安装依赖') { steps { sh """ ssh ${REMOTE_HOST} ' cd ${REMOTE_PROJECT_PATH} && source ~/.bashrc && conda activate search && source ${VENV_DIR}/bin/activate && pip install --upgrade pip && pip install -r requirements.txt ' """ } } stage('工程启动') { steps { echo("启动") sh """ ssh ${REMOTE_HOST} ' conda activate search source ${VENV_DIR}/bin/activate TIMESTAMP=$(date +"%Y%m%d_%H%M%S") nohup python /data/webapps/lessie_sourcing_agents/server.py > /data/webapps/lessie_sourcing_agents/logs/lessie_sourcing_agents_${TIMESTAMP}.log 2>&1 & ' """ } } } post { success { echo '✅ 部署成功!' } failure { echo '❌ 部署失败,请检查日志!' } } }