提交jenkins自动化流水线
This commit is contained in:
+29
-51
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user