139 lines
4.0 KiB
Plaintext
139 lines
4.0 KiB
Plaintext
|
|
pipeline {
|
||
|
|
agent any
|
||
|
|
|
||
|
|
environment {
|
||
|
|
REMOTE_HOST = "43.159.145.241" // 远程服务器
|
||
|
|
REMOTE_PROJECT_PATH = "/data/webapps/test/influencer_search" // 远程 Python 项目路径
|
||
|
|
VENV_DIR = "/data/webapps/test/influencer_search/venv" // 远程虚拟环境目录
|
||
|
|
START_SCRIPT = "/data/webapps/test/influencer_search/start.sh" // 远程启动脚本
|
||
|
|
}
|
||
|
|
|
||
|
|
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} 'nohup ${START_SCRIPT} > /data/webapps/test/influencer_search/nohup.out 2>&1 &'"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
post {
|
||
|
|
success {
|
||
|
|
echo '✅ 部署成功!'
|
||
|
|
}
|
||
|
|
failure {
|
||
|
|
echo '❌ 部署失败,请检查日志!'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
# ------------------------------------------------------------
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
pipeline {
|
||
|
|
agent any
|
||
|
|
|
||
|
|
environment {
|
||
|
|
REMOTE_HOST = "192.168.60.16" // 远程服务器
|
||
|
|
REMOTE_PROJECT_PATH = "/data/webapps/py/" // 远程 Python 项目路径
|
||
|
|
VENV_DIR = "/data/python_venv/myenv/" // 远程虚拟环境目录
|
||
|
|
// START_SCRIPT = "/data/webapps/test/influencer_search/start.sh" // 远程启动脚本
|
||
|
|
}
|
||
|
|
|
||
|
|
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} 'nohup ${START_SCRIPT} > /data/webapps/test/influencer_search/nohup.out 2>&1 &'"
|
||
|
|
echo("启动脚本")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
post {
|
||
|
|
success {
|
||
|
|
echo '✅ 部署成功!'
|
||
|
|
}
|
||
|
|
failure {
|
||
|
|
echo '❌ 部署失败,请检查日志!'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|