在 Jenkins 中遇到问题继续集成到 Xcode 8.3.2 中的 HockeyApp

Posted

技术标签:

【中文标题】在 Jenkins 中遇到问题继续集成到 Xcode 8.3.2 中的 HockeyApp【英文标题】:Getting Issue in Jenkins Continues Integration to HockeyApp in Xcode 8.3.2 【发布时间】:2017-05-02 06:30:56 【问题描述】:

全部,

我们正在使用 Jenkins 持续集成来上传应用程序 下面是作业中 Execute Shell 中的脚本。

rm -fr ~/Library/Caches/CocoaPods/ rm -fr 豆荚/ rm -rf ~/Library/Developer/Xcode/DerivedData/* 吊舱安装 xcodebuild -configuration Release -scheme MyApp_Test -workspace MyApp.xcworkspace SYMROOT="$WORKSPACE/MyApp/Build/" /usr/bin/xcrun -sdk iphoneos PackageApplication -v "$WORKSPACE/MyApp/Build/Release-iphoneos/MyApp_Test.app" -o "$WORKSPACE/MyApp/Build/Release-iphoneos/MyApp.ipa"

之前它运行良好并且能够集成,最近我们将他的 Xcode 更新到 8.3.2,从那时起我们得到的错误是我们得到的错误

xcrun:错误:无法找到实用程序“PackageApplication”,不是开发人员工具或 PATH 构建步骤“执行 shell”将构建标记为失败 构建步骤“上传到 HockeyApp”将构建标记为失败

任何人都可以帮助解决这个问题,似乎 PackageApplication 已被弃用并添加了 exportArchive,我们如何更改为该语法

【问题讨论】:

xcrunPackageApplication 选项已在 Xcode 8.3 中删除,您需要切换到使用 xcodebuild 进行构建。 【参考方案1】:
Before: xcrun with PackageApplication
# Build the application
xcodebuild \
-scheme "$SCHEME_NAME" \
-sdk "$TARGET_SDK" \
-configuration Release build

# Package the application
/usr/bin/xcrun \
-sdk "$TARGET_SDK" \
PackageApplication \
-v "$PROJECT_BUILDDIR/$SCHEME_NAME.app" \
-o "$BUILD_OUTPUT_DIR/$APP_NAME.ipa" \
--sign "$DEVELOPER_NAME" \
--embed "$PROVISIONING_PROFILE"
After: xcodebuild with -exportArchive
# Archive the application
xcodebuild \
-scheme "$SCHEME_NAME" \
-sdk "$TARGET_SDK" \
-archivePath "$PROJECT_BUILDDIR/$SCHEME_NAME.xcarchive" \
-configuration Release \
PROVISIONING_PROFILE="$PROVISIONING_PROFILE" \
archive 

# Export the archive to an ipa
xcodebuild \
-exportArchive \
-archivePath "$PROJECT_BUILDDIR/$SCHEME_NAME.xcarchive" \
-exportOptionsPlist "$EXPORT_PLIST" \
-exportPath "$BUILD_OUTPUT_DIR"

【讨论】:

以上是关于在 Jenkins 中遇到问题继续集成到 Xcode 8.3.2 中的 HockeyApp的主要内容,如果未能解决你的问题,请参考以下文章

基于Jenkins持续集成CI

[jenkins工具]之一:持续集成和jenkins入门介绍

tSQLt + SSDT 集成到 Jenkins

jenkins+python 遇到的问题

Postman+Newman+Jenkins+Git持续集成时遇到的问题

占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题