使用 Jenkins 和 Fabric 在工作区中持续集成 iOS 项目

Continuous integration of an iOS project in a workspace with Jenkins and Fabric

我有一个包含多个项目的工作区。在其中一个项目中,我使用 Fabric 将我的构建分发给 Beta 测试人员。它按预期完美运行。

然后我转向与 Jenkins 的持续集成。构建成功。但是,Fabric 不会上传 dSYM 文件。

我在 Jenkins

的 Execute Shell 中有以下脚本

注意:Fabric.framework/run 命令是在项目的构建阶段添加的

============================================= ========

ARCHIVE_DEST_PATH="${WORKSPACE}/archive"
ARCHIVE_PACKAGE="${ARCHIVE_DEST_PATH}.xcarchive"

PROJECT=<project>
FRAMEWORK=<project-sdk>SharedSDK

cd ${WORKSPACE}

if [ -f "$ARCHIVE_PACKAGE/Info.plist" ]; then
    rm -r "$ARCHIVE_PACKAGE"
fi

xcodebuild -workspace <project-ws>.xcworkspace -scheme ${FRAMEWORK}
xcodebuild -workspace <project-ws>.xcworkspace -scheme ${PROJECT} -archivePath ${ARCHIVE_DEST_PATH} archive

来自 Fabric 的迈克。

如果您使用的是 Jenkins,那么您想添加如下脚本:

/path/to/Crashlytics.framework/submit <API_KEY> <BUILD_SECRET> \
-ipaPath /path/to/my.ipa -emails TestEmail@fabric.io,AmazingTester@twitter.com \
-notesPath ~/Notes/ReleaseNotes.txt \
-groupAliases GroupAlias,GroupAlias2 \
-notifications YES

如前所述in our documentation.