70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
|
|
pipeline {
|
||
|
|
agent any
|
||
|
|
|
||
|
|
parameters {
|
||
|
|
gitParameter(
|
||
|
|
branchFilter: 'origin/(.*)',
|
||
|
|
defaultValue: 'main',
|
||
|
|
name: 'Code_branch',
|
||
|
|
type: 'PT_BRANCH',
|
||
|
|
selectedValue: 'DEFAULT',
|
||
|
|
sortMode: 'NONE',
|
||
|
|
description: '选择代码分支: ',
|
||
|
|
quickFilterEnabled: true,
|
||
|
|
tagFilter: '*',
|
||
|
|
listSize: "1"
|
||
|
|
)
|
||
|
|
}
|
||
|
|
environment {
|
||
|
|
REMOTE_HOST = "43.159.145.241" // 远程服务器 {params.REMOTE_HOST}
|
||
|
|
REMOTE_PROJECT_PATH = "/data/tengine/html/apex_web" // 远程 Python 项目路径
|
||
|
|
}
|
||
|
|
stages {
|
||
|
|
stage('拉取代码') {
|
||
|
|
steps {
|
||
|
|
git branch: "${params.Code_branch}", credentialsId: 'fly_gitlab_auth', url: 'http://172.24.16.20/web/apex-platform-fe.git'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stage('pnpm install') {
|
||
|
|
steps {
|
||
|
|
script {
|
||
|
|
sh """
|
||
|
|
export PATH="/data/node-v20.15.0/bin:$PATH"
|
||
|
|
echo "开始安装依赖包"
|
||
|
|
cd ${WORKSPACE}/ && rm -rf node_modules && pnpm install
|
||
|
|
echo "依赖包安装完成"
|
||
|
|
"""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stage('pnpm build') {
|
||
|
|
steps {
|
||
|
|
script {
|
||
|
|
sh """
|
||
|
|
export PATH="/data/node-v20.15.0/bin:$PATH"
|
||
|
|
echo "开始构建"
|
||
|
|
cd ${WORKSPACE}/ && rm -rf dist && pnpm build
|
||
|
|
mv dist/main/index.html dist/
|
||
|
|
chmod -R 755 dist/
|
||
|
|
"""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stage('工程同步') {
|
||
|
|
steps {
|
||
|
|
sh """
|
||
|
|
ssh ${REMOTE_HOST} 'mkdir -p ${REMOTE_PROJECT_PATH}'
|
||
|
|
rsync -avz ${WORKSPACE}/dist ${REMOTE_HOST}:${REMOTE_PROJECT_PATH}/
|
||
|
|
"""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
post {
|
||
|
|
success {
|
||
|
|
echo '✅ 部署成功!'
|
||
|
|
}
|
||
|
|
failure {
|
||
|
|
echo '❌ 部署失败,请检查日志!'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|