67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
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 '❌ 部署失败,请检查日志!'
|
|
}
|
|
}
|
|
}
|
|
|
|
|