diff --git a/Jenkinsfile-ios b/Jenkinsfile-ios index cd62bac3..db7bca32 100644 --- a/Jenkinsfile-ios +++ b/Jenkinsfile-ios @@ -11,6 +11,8 @@ pipeline { SCHEME_NAME = 'HBuilder' // Xcode 编译 Scheme CONFIGURATION = 'Release' // 编译模式:Release/Debug ARCHIVE_PATH = "${APP_DIR}/build/HBuilder.xcarchive" // 归档文件输出路径 + SOURCE_SDK="${HOME}/Library/SDK" // IOS的SDK存放路径 + TARGET_LINK="${APP_DIR}/../SDK" @@ -43,12 +45,12 @@ pipeline { sh "rm -rf ${env.ARCHIVE_PATH}" // 清理 上次的构建文件 } } -// stage('安装依赖') { -// steps { -// echo "✅ 安装 UniApp 依赖(忽略平台+开权限+强制)" -// sh "npm install --force --unsafe-perm --ignore-platform" -// } -// } + stage('安装依赖') { + steps { + echo "✅ 安装 UniApp 依赖(忽略平台+开权限+强制)" + sh "npm install --force --unsafe-perm --ignore-platform" + } + } stage('读取 manifest 版本号 → 写入环境变量') { steps { script { @@ -88,48 +90,45 @@ pipeline { ''' } } -// stage('打包uniapp') { -// steps { -// sh "npm run build:app-plus:${env.BRANCH_NAME}" -// } -// } -// stage('复制UniApp资源到目录') { -// steps { -// echo "开始复制 dist 资源到 ${ASSETS_DIR}" -// // 先创建目标目录(防止目录不存在报错) -// sh "mkdir -p ${ASSETS_DIR}" -// // 把 dist 里所有文件 复制 到安卓资源目录(推荐) -// sh "cp -rf dist/build/app/* ${ASSETS_DIR}/" -// echo "✅ 资源复制完成" -// } -// } - // ====================== 构建 IPA ====================== -// stage('========== 🗑️清理旧构建内容 ==========') { -// steps { -// sh """ -// xcodebuild clean \\ -// -project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\ -// -scheme ${SCHEME_NAME} \\ -// -configuration ${CONFIGURATION} -// """ -// -// } -// } + stage('打包uniapp') { + steps { + sh "npm run build:app-plus:${env.BRANCH_NAME}" + } + } + stage('复制UniApp资源到目录') { + steps { + echo "开始复制 dist 资源到 ${ASSETS_DIR}" + // 先创建目标目录(防止目录不存在报错) + sh "mkdir -p ${ASSETS_DIR}" + // 把 dist 里所有文件 复制 到安卓资源目录(推荐) + sh "cp -rf dist/build/app/* ${ASSETS_DIR}/" + echo "✅ 资源复制完成" + } + } + + stage('️清理旧构建内容') { + steps { + sh """ + xcodebuild clean \\ + -project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\ + -scheme ${SCHEME_NAME} \\ + -configuration ${CONFIGURATION} + """ + + } + } stage('创建SDK软链接') { steps { sh ''' - # 进入项目目录 - cd ${WORKSPACE}/Ios + # 删除旧的软链接/目录 + rm -rf "${TARGET_LINK}" - # 如果原来的 SDK 目录存在,先删掉(不删代码,只删目录) - rm -rf SDK + # 创建软链接(不进入任何目录) + ln -s "${SOURCE_SDK}" "${TARGET_LINK}" - # 创建软链接,指向你本机公共SDK - ln -s ${HOME}/Library/SDK SDK - - # 查看是否生效 - ls -la ${WORKSPACE}/Ios/SDK - ''' + # 验证链接是否生效 + ls -la "${TARGET_LINK}" + ''' } } stage('开始归档项目') { @@ -154,13 +153,13 @@ pipeline { // 手动签名 "CODE_SIGN_STYLE=Manual", - "CODE_SIGN_IDENTITY=\"${CERTIFICATE_NAME}\"", - "PROVISIONING_PROFILE_SPECIFIER=\"${PROVISIONING_PROFILE_UUID}\"", - "PROVISIONING_PROFILE=\"${PROVISIONING_PROFILE_UUID}\"", + "CODE_SIGN_IDENTITY=${CERTIFICATE_NAME}", + "PROVISIONING_PROFILE_SPECIFIER=${PROVISIONING_PROFILE_UUID}", + "PROVISIONING_PROFILE=${PROVISIONING_PROFILE_UUID}", "DEVELOPMENT_TEAM=${DEVELOPMENT_TEAM}", // 钥匙串 - "OTHER_CODE_SIGN_FLAGS=\"--keychain ~/Library/Keychains/login.keychain-db\"", + "OTHER_CODE_SIGN_FLAGS='--keychain ~/Library/Keychains/login.keychain-db'", // 编译所有架构 "ONLY_ACTIVE_ARCH=NO",