提交jenkins自动化流水线

This commit is contained in:
Home
2026-03-30 04:01:25 +08:00
parent 5ec349268b
commit 12f0cb35f5
+49 -39
View File
@@ -115,45 +115,55 @@ pipeline {
stage('开始归档项目') {
steps {
echo "${APP_DIR}/${PROJECT_NAME}.xcodeproj"
sh '''
# 开始执行 Xcode 归档命令
xcodebuild archive \\
# 指定项目文件路径
-project ${APP_DIR}/${PROJECT_NAME}.xcodeproj \\
# 指定编译 Scheme
-scheme ${SCHEME_NAME} \\
# 指定编译环境 Debug/Release
-configuration ${CONFIGURATION} \\
# 指定归档输出路径
-archivePath ${ARCHIVE_PATH} \\
# 目标平台:通用 iOS 设备
-destination generic/platform=iOS \\
# 应用版本号(对外显示)
MARKETING_VERSION=${versionName} \\
# 应用构建版本号(内部编号)
CURRENT_PROJECT_VERSION=${versionCode} \\
# 手动签名模式(非自动管理)
CODE_SIGN_STYLE=Manual \\
# 签名证书名称
CODE_SIGN_IDENTITY="${CERTIFICATE_NAME}" \\
# 描述文件 UUID(高版本 Xcode 推荐)
PROVISIONING_PROFILE_SPECIFIER="${PROVISIONING_PROFILE_UUID}" \\
# 描述文件 UUID(兼容旧版 Xcode)
PROVISIONING_PROFILE="${PROVISIONING_PROFILE_UUID}" \\
# 开发团队 ID
DEVELOPMENT_TEAM=${DEVELOPMENT_TEAM} \\
# 指定钥匙串路径(解决 CI 签名权限问题)
OTHER_CODE_SIGN_FLAGS="--keychain ~/Library/Keychains/login.keychain-db" \\
# 编译所有架构(不只是当前设备架构)
ONLY_ACTIVE_ARCH=NO \\
# 清空 C 语言额外编译参数,保证环境干净
OTHER_CFLAGS='' \\
# 清空 C++ 额外编译参数
OTHER_CPLUSPLUS_FLAGS='' \\
# 清空 Swift 额外编译参数
OTHER_SWIFT_FLAGS=''
'''
script {
// Groovy 里拼接命令,随便写注释,不会影响 shell
def xcodeCommand = [
'xcodebuild archive',
// 项目路径(注释随便写)
"-project ${APP_DIR}/${PROJECT_NAME}.xcodeproj",
// Scheme 配置
"-scheme ${SCHEME_NAME}",
// 编译模式 Release/Debug
"-configuration ${CONFIGURATION}",
// 归档输出路径
"-archivePath ${ARCHIVE_PATH}",
// 平台通用 iOS
"-destination generic/platform=iOS",
// 版本号
"MARKETING_VERSION=${versionName}",
"CURRENT_PROJECT_VERSION=${versionCode}",
// 手动签名
"CODE_SIGN_STYLE=Manual",
"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\"",
// 编译所有架构
"ONLY_ACTIVE_ARCH=NO",
// 清空编译参数
"OTHER_CFLAGS=''",
"OTHER_CPLUSPLUS_FLAGS=''",
"OTHER_SWIFT_FLAGS=''"
].join(' ') // 拼接成一行完整命令
// 打印最终命令(方便排查)
echo "执行命令:${xcodeCommand}"
// 执行!
sh(xcodeCommand)
}
}
}
}