【问题标题】:Does Jenkins support Xcode integrationJenkins 是否支持 Xcode 集成
【发布时间】:2016-04-13 06:08:17
【问题描述】:

有人在 Xcode 中使用 Jenkins 进行代码管理和自动化部署吗?如果是,如何集成?自动化部署如何与 Jenkins 一起工作?通过documentation,但没有得到太多的想法。
我查看了Jenkins plugins for iOS,但不清楚我们是否可以使用任何插件将构建发布到 AppStore。

【问题讨论】:

    标签: ios xcode jenkins jenkins-plugins build-automation


    【解决方案1】:

    我们使用 Jenkins 服务器进行 Continuos 集成,当 Jenkins 被提交到此存储库时,从 SVN 服务器获取源代码。

    但是,说真的,我不会推荐詹金斯...我宁愿使用 xcode 服务器/机器人来摆脱詹金斯的所有麻烦...

    【讨论】:

    • 不清楚你的第二点。你推荐 Jenkins 还是 Xcode 服务器?
    • 我不推荐。抱歉打错了! :-)
    【解决方案2】:

    fastlane 是一款供 iOS 和 Android 开发人员自动执行繁琐任务的工具,例如生成屏幕截图、处理配置文件和发布应用程序。 https://github.com/fastlane/fastlane

    xctool 是 Apple 的 xcodebuild 的替代品,可以更轻松地测试 iOS 和 Mac 产品。它对持续集成特别有帮助。 https://github.com/facebook/xctool

    【讨论】:

    【解决方案3】:

    “用于代码管理的 Xcode 中的 Jenkins”一词似乎并不完全正确。因为 Jenkins 服务器是用于 CI 的,我们在其中配置它(创建一个作业),它将从您的存储库(SVN、GIT)中获取源代码,然后编译并运行,可能执行您的单元测试、UI 自动化测试或代码覆盖率工具。

    根据您的日程安排,Jenkins 服务器将自动开始其工作,或者在您的存储库发生更改时触发(例如,任何人提交代码)。

    你提到的 Xcode 中的工具可能是 XCode Bots,内置的 CI 工具。 为了设置,首先,您必须安装和配置 XCode 服务器。之后,将您的服务器与您的存储库连接起来。其次,使用您的自定义配置创建一个机器人并运行它。

    就 Jenkins 和 Xcode 的比较而言,我认为这取决于您要为 CI 服务器设置的工具或插件功能。 Jenkins 有许多插件可能会有所帮助,例如检查样式、测量代码覆盖率,而 Xcode bot 仍然有一些限制。 本文档https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/供您进一步参考。

    希望对你有帮助。

    【讨论】:

    • 帮助很大。谢谢。 Jenkins/Xcode bot 可以用于自动部署到 AppStore 吗?如果是这样,哪个插件?
    • 我还没有尝试过,但是,我所做的是通过 beta 测试部署构建。如果您使用 Jenkins,您需要使用分发证书、XCode 插件配置您的作业,然后分发 ipa 二进制文件并通过 TestFlight 进行部署,但是,您需要运行一些自定义脚本。如果您使用的是 XCode bot,那会更容易。
    • 这个忘了,可以参考这篇关于Jenkins的文章blog.zymr.com/jenkins-integration-with-ios
    【解决方案4】:

    有一个叫做xcpretty的gem,你可以用它输出JUnit格式的测试结果,然后用Jenkins JUnit Plugin显示结果。

    • 安装 xcpretty
    宝石安装 xcpretty
    • 使用xcpretty创建junit格式的xml文件
    xcodebuild 测试... | xcpretty --report junit --output [path_to_save]/unit_test_result.xml
    • 那么这个unit_test_result.xml可以被Jenkins JUnit Plugin用来举报

    【讨论】:

      猜你喜欢
      • 2018-08-24
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多