95 lines
2.9 KiB
Groovy
95 lines
2.9 KiB
Groovy
pipeline {
|
||
agent any
|
||
tools {
|
||
nodejs 'node22'
|
||
}
|
||
environment {
|
||
UNIAPP_APP_ID = '__UNI__EDE0E52'
|
||
ANDROID_ASSETS_DIR = "Android/simpleDemo/src/main/assets/apps/${UNIAPP_APP_ID}/www"
|
||
}
|
||
stages {
|
||
stage('打印环境变量') {
|
||
steps {
|
||
echo "使用的 UNIAPP_APP_ID:${env.UNIAPP_APP_ID}"
|
||
echo "安卓资源目录:${env.ANDROID_ASSETS_DIR}"
|
||
sh "node -v" // 打印 NodeJS 版本
|
||
sh "npm -v" // 打印 NPM 版本(可选)
|
||
}
|
||
}
|
||
stage('清理旧构建') {
|
||
steps {
|
||
sh "rm -rf dist/" // 清理 UniApp 打包生成的 dist 目录
|
||
sh "rm -rf android/simpleDemo/build/" // 清理 Android 项目构建缓存
|
||
sh "rm -rf ${ANDROID_ASSETS_DIR}" // 清理旧的 APP 资源文件目录
|
||
}
|
||
}
|
||
stage('安装依赖') {
|
||
steps {
|
||
sh 'npm install'
|
||
}
|
||
}
|
||
stage('打包uniapp') {
|
||
steps {
|
||
sh "npm run build:app-plus:${env.BRANCH_NAME}"
|
||
}
|
||
}
|
||
stage('复制UniApp资源到安卓assets目录') {
|
||
steps {
|
||
echo "开始复制 dist 资源到 ${ANDROID_ASSETS_DIR}"
|
||
// 先创建目标目录(防止目录不存在报错)
|
||
sh "mkdir -p ${ANDROID_ASSETS_DIR}"
|
||
// 把 dist 里所有文件 复制 到安卓资源目录(推荐)
|
||
sh "cp -rf dist/build/app/* ${ANDROID_ASSETS_DIR}/"
|
||
echo "✅ 资源复制完成"
|
||
}
|
||
}
|
||
|
||
//
|
||
// stage('构建 & 测试') {
|
||
// steps {
|
||
// sh 'mvn clean package -DskipTests'
|
||
// sh 'mvn test'
|
||
// }
|
||
// // 构建产物归档
|
||
// post {
|
||
// success {
|
||
// archiveArtifacts artifacts: 'target/*.jar', followSymlinks: false
|
||
// }
|
||
// }
|
||
// }
|
||
//
|
||
// stage('构建 Docker 镜像') {
|
||
// steps {
|
||
// sh 'docker build -t myapp:${BUILD_NUMBER} .'
|
||
// }
|
||
// }
|
||
//
|
||
// stage('推送镜像') {
|
||
// steps {
|
||
// sh '''
|
||
// docker login -u ${DOCKER_CREDS_USR} -p ${DOCKER_CREDS_PSW}
|
||
// docker push myapp:${BUILD_NUMBER}
|
||
// '''
|
||
// }
|
||
// }
|
||
//
|
||
// stage('部署到服务器') {
|
||
// steps {
|
||
// sh 'docker stop myapp && docker rm myapp || true'
|
||
// sh 'docker run -d -p 8080:8080 --name myapp myapp:${BUILD_NUMBER}'
|
||
// }
|
||
// }
|
||
}
|
||
|
||
post {
|
||
always {
|
||
echo '流水线已结束'
|
||
}
|
||
success {
|
||
echo '🎉 项目部署成功!'
|
||
}
|
||
failure {
|
||
echo '⚠️ 部署失败,请检查日志!'
|
||
}
|
||
}
|
||
} |