Tramline is on a mission to be the sole platform you need for your app releases. A major step towards it is to provide a unified and streamlined experience for mobile teams, particularly when it comes to the two dominant stores: App Store and Play Store.
…and in the darkness guide them.
As mobile teams grow bigger, the ways of sharing the build during a release cycle increase with it. When it was just you and your friend building apps, you could just AirDrop the binary or put it in a shared folder for them to access. Now, with your team grown to include PMs, testers, designers, and other developers, you have to send the release candidates to a bunch of people via a multitude of channels across different integrations.
Tramline provides a centralized platform where teams can efficiently manage build distribution or simply monitor its progress within the release cycle. All the necessary information and actions can be accessed directly through Tramline, eliminating the need to navigate multiple platforms for these tasks.
After your CI system generates the appropriate binary file, we take that artifact and ensure its distribution across all the designated distribution channels, including the stores.
You can define the exact destinations for your build without any concerns about the technical aspects of sending it there. The interfaces across different integrations evolve quite often in the mobile world making your distribution process flaky even when you are using a very effective tool like Fastlane. We relieve you from the burdensome task of handling these operations and ensure your build reaches where it is supposed to.
For example, if you decide to incorporate Firebase App Distribution into your release cycle in the future, Tramline makes the integration seamless. With just a few clicks within the dashboard, you can effortlessly add Firebase App Distribution to your existing release workflow.
You can read more about the build distribution integrations we support in our docs.
Everyone we know has their own App Store-review scary stories that they share with each other over the bonfire at camps. We, at Tramline, want to be the Ghostbusters to remove all your App Store woes!
Once your build is uploaded to TestFlight by your CI system, Tramline manages the entire process until release including:
A simplified App Store release lifecycle in Tramline looks like this:
Due to current limitations with App Store Connect API, binary uploads to TestFlight are not yet supported. However, we are actively working on integrating this feature, and it will be available in the near future.
All crucial, if not all, features in mobile apps go through the cautious process of phased releases or staged rollouts.
Tramline handles staged rollout in App Store and Play Store differently due to the differences in the stores.
For Play Store, we allow the creation of a template for staged rollout and apply that template for every release cycle. It allows users to move the release through the different stages as and when they feel comfortable.
For App Store, it allows pausing and resuming rollout during the 7-day phased release process.
While Tramline aims to unify the user experience across various app stores as much as possible, it recognizes the importance of adapting to the distinct requirements and differences of each store.
For posterity and general knowledge, we maintain an ever-growing set of store quirks. It is compiled from our experience and scouring through developer forums, Stack Overflow, and various other sources of developer documentation.
We are actively improving the distribution mechanism for builds, and the following improvements are in progress and coming soon:
That’s all for this month, until the next train! 🚃
2022 was a long and eventful year for Tramline, and as we step into the new year, we wanted to do a quick recap and talk about where we’re headed.
Writing CI server build workflows for mobile apps is cumbersome and time consuming. Macige is an open source CI workflow generator, with a set of popular customizations used in app development.