iosgoogle-fabricfabric-beta

Fabric Beta Distribution over CI


I tried to follow the steps to achieve an automatic distribution of my iOS app for the Fabric Beta Distribution.

I used the code and added it as post function to my build archive. The problem is, that I only get the archive registered in the Fabric mac app, but the distribution process still has to be done manually.

I there a way to achieve an automatic distribution or upload process through the provided method in the link?

Here is the link to the fabric documentation: https://docs.fabric.io/apple/beta/build-tools.html


Solution

  • Mike from Fabric here. There are a couple of ways of doing this. (Note: I'm replying here instead of your email into our support channel.)

    1) As mentioned in the documentation you link to, you can use this command any time after the .IPA has been built by your build server:

    /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
    

    You could have that command run as the last step in your CI flow.

    2) The other option is to use fastlane. Your Fastfile would look like this:

    # More documentation about how to customize your build
    # can be found here:
    # https://docs.fastlane.tools
    fastlane_version "1.109.0"
    
    # This value helps us track success metrics for Fastfiles
    # we automatically generate. Feel free to remove this line
    # once you get things running smoothly!
    generated_fastfile_id "generated_id"
    
    default_platform :ios
    
    # Fastfile actions accept additional configuration, but
    # don't worry, fastlane will prompt you for required
    # info which you can add here later
    lane :beta do
      # build your iOS app
      gym(
        # scheme: "YourScheme",
        export_method: "ad-hoc"
      )
    
      # upload to Beta by Crashlytics
      crashlytics(
        # keys for organization: YourOrganization
        api_token: "YourApiKey",
        build_secret: "YourBuildSecret"
      )
    end
    

    And after installing fastlane you would run fastlane beta from CI.