提交jenkins自动化流水线

This commit is contained in:
Home
2026-03-29 15:16:30 +08:00
parent 06cc9fb1c1
commit b01053eddd
2 changed files with 19 additions and 22 deletions
Vendored
+9 -9
View File
@@ -7,15 +7,15 @@ pipeline {
environment {
PROJECT_NAME = 'jax'
UNIAPP_APP_ID = '__UNI__EDE0E52'
ANDROID_APP_DIR = "Android/simpleDemo"
ANDROID_ASSETS_DIR = "${ANDROID_APP_DIR}/src/main/assets/apps/${UNIAPP_APP_ID}/www"
APP_DIR = "Android/simpleDemo"
ASSETS_DIR = "${APP_DIR}/src/main/assets/apps/${UNIAPP_APP_ID}/www"
ANDROID_SDK = '/opt/android-sdk' // 安卓 SDK 路径
}
stages {
stage('打印环境变量') {
steps {
echo "使用的 UNIAPP_APP_ID${env.UNIAPP_APP_ID}"
echo "安卓资源目录:${env.ANDROID_ASSETS_DIR}"
echo "安卓资源目录:${env.ASSETS_DIR}"
sh "node -v" // 打印 NodeJS 版本
sh "npm -v" // 打印 NPM
sh "java -version"
@@ -25,8 +25,8 @@ pipeline {
stage('清理旧构建') {
steps {
sh "rm -rf dist/" // 清理 UniApp 打包生成的 dist 目录
sh "rm -rf android/simpleDemo/build/" // 清理 Android 项目构建缓存
sh "rm -rf ${ANDROID_ASSETS_DIR}" // 清理旧的 APP 资源文件目录
sh "rm -rf ${APP_DIR}/build/" // 清理 Android 项目构建缓存
sh "rm -rf ${ASSETS_DIR}" // 清理旧的 APP 资源文件目录
}
}
stage('安装依赖') {
@@ -71,11 +71,11 @@ pipeline {
}
stage('复制UniApp资源到安卓assets目录') {
steps {
echo "开始复制 dist 资源到 ${ANDROID_ASSETS_DIR}"
echo "开始复制 dist 资源到 ${ASSETS_DIR}"
// 先创建目标目录(防止目录不存在报错)
sh "mkdir -p ${ANDROID_ASSETS_DIR}"
sh "mkdir -p ${ASSETS_DIR}"
// 把 dist 里所有文件 复制 到安卓资源目录(推荐)
sh "cp -rf dist/build/app/* ${ANDROID_ASSETS_DIR}/"
sh "cp -rf dist/build/app/* ${ASSETS_DIR}/"
echo "✅ 资源复制完成"
}
}
@@ -105,7 +105,7 @@ pipeline {
def newApkName = "${PROJECT_NAME}-${env.BRANCH_NAME}-${env.versionName}-${buildTime}.apk"
// 🔥 不 cd,直接完整路径重命名
sh "mv ${ANDROID_APP_DIR}/build/outputs/apk/release/*.apk ${ANDROID_APP_DIR}/build/outputs/apk/release/${newApkName}"
sh "mv ${APP_DIR}/build/outputs/apk/release/*.apk ${APP_DIR}/build/outputs/apk/release/${newApkName}"
echo "✅ APK 已重命名:${newApkName}"
}
+10 -13
View File
@@ -5,14 +5,14 @@ pipeline {
}
environment {
UNIAPP_APP_ID = '__UNI__EDE0E52'
IOS_ASSETS_DIR = "Android/simpleDemo/src/main/assets/apps/${UNIAPP_APP_ID}/www"
// ANDROID_SDK = '/opt/android-sdk' // 安卓 SDK 路径
APP_DIR = "Ios/HBuilder-Hello/HBuilder-Hello"
ASSETS_DIR = "${APP_DIR}/Pandora/apps/${UNIAPP_APP_ID}/www"
}
stages {
stage('打印环境变量') {
steps {
echo "使用的 UNIAPP_APP_ID${env.UNIAPP_APP_ID}"
echo "安卓资源目录:${env.IOS_ASSETS_DIR}"
echo "IOS资源目录:${env.ASSETS_DIR}"
sh "node -v" // 打印 NodeJS 版本
sh "npm -v" // 打印 NPM
}
@@ -20,8 +20,8 @@ pipeline {
stage('清理旧构建') {
steps {
sh "rm -rf dist/" // 清理 UniApp 打包生成的 dist 目录
sh "rm -rf android/simpleDemo/build/" // 清理 Android 项目构建缓存
sh "rm -rf ${ANDROID_ASSETS_DIR}" // 清理旧的 APP 资源文件目录
// sh "rm -rf android/simpleDemo/build/" // 清理 Android 项目构建缓存
sh "rm -rf ${ASSETS_DIR}" // 清理旧的 APP 资源文件目录
}
}
stage('安装依赖') {
@@ -37,23 +37,20 @@ pipeline {
sh "npm run build:app-plus:${env.BRANCH_NAME}"
}
}
stage('复制UniApp资源到安卓assets目录') {
stage('复制UniApp资源到目录') {
steps {
echo "开始复制 dist 资源到 ${ANDROID_ASSETS_DIR}"
echo "开始复制 dist 资源到 ${ASSETS_DIR}"
// 先创建目标目录(防止目录不存在报错)
sh "mkdir -p ${ANDROID_ASSETS_DIR}"
sh "mkdir -p ${ASSETS_DIR}"
// 把 dist 里所有文件 复制 到安卓资源目录(推荐)
sh "cp -rf dist/build/app/* ${ANDROID_ASSETS_DIR}/"
sh "cp -rf dist/build/app/* ${ASSETS_DIR}/"
echo "✅ 资源复制完成"
}
}
// ====================== 构建 APK ======================
stage('配置SDK & 赋予权限 & 编译Android') {
steps {
// 1. 生成 local.properties 指定 SDK 路径
sh "echo 'sdk.dir=${ANDROID_SDK}' > Android/local.properties"
// 3. 直接执行编译(核心:Android/gradlew --offline
sh "gradle assembleRelease -g ${WORKSPACE}/gradle-home -p Android"
echo "✅ 配置SDK & 赋予权限 & 编译Android"
}
}
}