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

Posted

技术标签:

【中文标题】使用 Jenkins 和 Fabric 在工作区中持续集成 iOS 项目【英文标题】:Continuous integration of an iOS project in a workspace with Jenkins and Fabric 【发布时间】:2015-11-09 12:28:40 【问题描述】:

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

然后我开始使用 Jenkins 进行持续集成。构建成功。但是,Fabric 不会上传 dSYM 文件。

我在 Jenkins 的 Execute Shell 中有以下脚本

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

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

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

【问题讨论】:

【参考方案1】:

来自 Fabric 的 Mike。

如果您使用的是 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.

【讨论】:

安卓怎么样?我似乎找不到 crashlytics.framework 的路径,因为我在 android studio 使用插件 我使用了相同的脚本,它的工作和上传构建。但电子邮件通知不起作用,它的工作一段时间,你能帮帮我吗?这可能是什么原因? @UserDev 我很乐意提供帮助,但需要更多信息。也许在我们的支持site. 处提出这个问题,看起来 SO 可能不是您的情况的最佳选择。

以上是关于使用 Jenkins 和 Fabric 在工作区中持续集成 iOS 项目的主要内容,如果未能解决你的问题,请参考以下文章

文本对齐在 fabric.js 中没有按预期工作

Fabric 和 Digits pod 在 Xcode 7 和 Swift 2.0 中的工作区失败

使用 *** 的本地 Service Fabric 无法正常工作

使用 Nx 在 Jenkins 中进行 CI/CD 的最佳方式

Firebase Crashlytics 在没有 Fabric API 密钥的情况下无法工作

如何在 Jenkins 中使用 Groovy 脚本设置颠覆工作区格式?