71 lines
2.1 KiB
Plaintext
71 lines
2.1 KiB
Plaintext
|
|
pipeline {
|
||
|
|
agent any
|
||
|
|
|
||
|
|
environment {
|
||
|
|
REMOTE_HOST = "43.159.145.241" // 远程服务器
|
||
|
|
REMOTE_PROJECT_PATH = "/data/webapps/influencer_search_agent" // 远程 Python 项目路径
|
||
|
|
VENV_DIR = "/data/webapps/influencer_search_agent/venv" // 远程虚拟环境目录
|
||
|
|
}
|
||
|
|
|
||
|
|
stages {
|
||
|
|
stage('Checkout 代码') {
|
||
|
|
steps {
|
||
|
|
git branch: 'test', credentialsId: 'fly_gitlab_auth', url: 'http://172.24.16.20/python/influencer-search-demo.git'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
stage('进程下线') {
|
||
|
|
steps {
|
||
|
|
sh "ssh ${REMOTE_HOST} 'sh /data/sh/kill_influencer_search_agent.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} &&
|
||
|
|
if [ ! -d "${VENV_DIR}" ]; then
|
||
|
|
python3 -m venv ${VENV_DIR}
|
||
|
|
fi &&
|
||
|
|
source ${VENV_DIR}/bin/activate &&
|
||
|
|
pip install --upgrade pip &&
|
||
|
|
pip install -r requirements.txt
|
||
|
|
'
|
||
|
|
"""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
stage('工程启动') {
|
||
|
|
steps {
|
||
|
|
sh """
|
||
|
|
ssh ${REMOTE_HOST} '
|
||
|
|
source ${VENV_DIR}/bin/activate &&
|
||
|
|
nohup env PYTHONPATH=/data/webapps/influencer_search_agent python3 -m dialogue.influencer_search > /data/webapps/influencer_search_agent/nohup.out 2>&1 &
|
||
|
|
'
|
||
|
|
"""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
post {
|
||
|
|
success {
|
||
|
|
echo '✅ 部署成功!'
|
||
|
|
}
|
||
|
|
failure {
|
||
|
|
echo '❌ 部署失败,请检查日志!'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|