pipeline { agent any environment { // REMOTE_HOST = "" // 远程服务器 REMOTE_PROJECT_PATH = "/data/webapps/test_tk_search_crawler" // 远程 Python 项目路径 VENV_DIR = "/data/webapps/test_tk_search_crawler/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/tk_search_crawler.git' } } stage('进程下线') { steps { echo("下线") sh "ssh ${params.REMOTE_HOST} 'sh /data/sh/kill_tk_search_crawler.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 && npm install crypto ' """ } } stage('工程启动') { steps { echo("启动") # sh "ssh ${params.REMOTE_HOST} 'sh /data/sh/run_tk_search_crawler.sh'" } } } post { success { echo '✅ 部署成功!' } failure { echo '❌ 部署失败,请检查日志!' } } } nohup python tk_search.py > output.log 2>&1 &