使用 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 和 Digits pod 在 Xcode 7 和 Swift 2.0 中的工作区失败
使用 *** 的本地 Service Fabric 无法正常工作
使用 Nx 在 Jenkins 中进行 CI/CD 的最佳方式