提交jenkins自动化流水线

This commit is contained in:
Home
2026-03-30 03:04:05 +08:00
parent 63c7d04885
commit d06812b739
+29 -51
View File
@@ -4,20 +4,22 @@ pipeline {
nodejs 'node22'
}
environment {
UNIAPP_APP_ID = '__UNI__EDE0E52'
APP_DIR = "Ios/HBuilder-Hello"
PROJECT_NAME = 'HBuilder-Hello'
ASSETS_DIR = "${APP_DIR}/${PROJECT_NAME}/Pandora/apps/${UNIAPP_APP_ID}/www"
// 项目配置
SCHEME_NAME = 'HBuilder'
CONFIGURATION = 'Release'
ARCHIVE_PATH = "${APP_DIR}//build/HBuilder.xcarchive" //归档文件输出路径
//项目证书配置
CERT_DIR='certificate/ios'
P12_FILE="$CERT_DIR/开发证书.p12"
P12_PASSWORD="Kup9dayLY#*"
PROFILE_FILE="$CERT_DIR/jiaixuedev.mobileprovision"
MAC_LOGIN_PWD="667788"
UNIAPP_APP_ID = '__UNI__EDE52' // uni-app 应用ID
APP_DIR = "Ios/HBuilder-Hello" // iOS 项目根目录
PROJECT_NAME = 'HBuilder-Hello' // 项目名称(xcodeproj 前缀)
ASSETS_DIR = "${APP_DIR}/${PROJECT_NAME}/Pandora/apps/${UNIAPP_APP_ID}/www" // 静态资源目录
SCHEME_NAME = 'HBuilder' // Xcode 编译 Scheme
CONFIGURATION = 'Release' // 编译模式:Release/Debug
ARCHIVE_PATH = "${APP_DIR}/build/HBuilder.xcarchive" // 归档文件输出路径
// ====================== 证书配置 ======================
CERT_DIR = 'certificate/ios' // 证书文件存放目录
P12_FILE = "${CERT_DIR}/开发证书.p12" // 开发证书 p12 路径
P12_PASSWORD = "Kup9dayLY#*" // p12 证书导入密码
PROFILE_FILE = "${CERT_DIR}/jiaixuedev.mobileprovision" // 描述文件路径
MAC_LOGIN_PWD = "667788" // Mac 登录密码(解锁钥匙串)
PROVISIONING_PROFILE_SPECIFIER = "jiaixuedev" // 描述文件名称
DEVELOPMENT_TEAM = "2EP6SRRN43" // 苹果开发者团队 ID
}
stages {
stage('打印环境变量') {
@@ -86,9 +88,7 @@ pipeline {
-project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\
-scheme ${SCHEME_NAME} \\
-configuration ${CONFIGURATION} \\
MARKETING_VERSION=${versionName} \\
CURRENT_PROJECT_VERSION=${versionCode} \\
-destination 'generic/platform=iOS' \\
archive
"""
@@ -99,45 +99,23 @@ pipeline {
sh "rm -rf dist/" // 清理 UniApp 打包生成的 dist 目录
}
}
stage('安装iOS证书 & 描述文件') {
stage('开始归档项目') {
steps {
sh '''
# 解锁系统钥匙串(必须!)
security unlock-keychain -p ${MAC_LOGIN_PWD} ~/Library/Keychains/login.keychain-db
# 导入 p12 证书到系统
security import ${P12_FILE} \\
-k ~/Library/Keychains/login.keychain-db \\
-P ${P12_PASSWORD} \\
-A \\
-t cert
# 允许Xcode调用签名
security set-key-partition-list \\
-S apple-tool:,apple:,codesign: \\
-s -k ${MAC_LOGIN_PWD} \\
~/Library/Keychains/login.keychain-db
# 安装描述文件到系统目录
mkdir -p ~/Library/MobileDevice/Provisioning\\ Profiles
cp ${PROFILE_FILE} ~/Library/MobileDevice/Provisioning\\ Profiles/
echo "✅ 证书 + 描述文件 安装完成!"
xcodebuild archive \\
-project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\
-scheme ${SCHEME_NAME} \\
-configuration ${CONFIGURATION} \\
-archivePath ${ARCHIVE_PATH} \\
-destination generic/platform=iOS \\
MARKETING_VERSION=${versionName} \\
CURRENT_PROJECT_VERSION=${versionCode} \\
CODE_SIGN_STYLE=Manual \\
PROVISIONING_PROFILE_SPECIFIER=${PROVISIONING_PROFILE_SPECIFIER} \\
DEVELOPMENT_TEAM=${DEVELOPMENT_TEAM}
'''
}
}
// stage('开始归档项目') {
// steps {
// sh """
// xcodebuild archive \\
// -project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\
// -scheme ${SCHEME_NAME} \\
// -configuration ${CONFIGURATION} \\
// -archivePath ${ARCHIVE_PATH}
// """
//
// }
// }
}
post {