Categories:
Search articles

Search for articles

Sorry, but we couldn't find any matches...

But perhaps we can interest you in one of our more popular articles?

Criton: Codemagic has allowed our team to decrease publication time by 95%

Nov 29, 2020

Codemagic builds and tests your app after every commit, notifies selected team members and releases to the end user. Automatically. Get started
“Codemagic has given Criton the vital capability of being able to publish apps. The COVID-19 pandemic has been a period of increased demand for our product. Codemagic has allowed our team to decrease publication time by 95%. We can detect development issues earlier and publish applications quicker!” – Alan Hannah, Development Manager at Criton

Criton is building apps for 200+ hotels

Criton is an award-winning guest engagement and integrations platform that simplifies digital transformation, enabling hoteliers to deliver the perfect digital guest journey and maximize in-stay spend.

Criton is using Codemagic to build apps for 200+ hotels. Additionally, they run daily unit tests and nightly technical builds to test the integrity of their codebase.

Criton has a team of 15 that covers development, QA, support, product management, and customer experience. Eight team members use Codemagic regularly. Four developers use it for technical builds and unit tests, and four team members use it for triggering client app publications. “Thanks to Codemagic, any of our team members can trigger a production-level build,” said Alan Hannah, who’s a development manager at Criton.

Continuous integration and delivery is vital for Criton’s operations

“The CI/CD service is vital to our operations from many vectors. For our developers, it’s an instrumental part of their workflow. At Criton, we use Codemagic for unit tests and technical builds. We can ensure that code introduced to the codebase is stable before release,” said Alan Hannah.

Alan sees that CI/CD is vital to ensure that Criton:

  • has consistency in build environments
  • has/gets rapid feedback for developers
  • has an asynchronous publishing process
  • can scale their business
  • has the flexibility and scalability to adapt to demand and platform changes

Since the start of the UK’s COVID-19 lockdown in March, Criton has seen a huge increase in demand for their product. Criton averaged three distinct app publications per day during the peak of the pandemic.

We can publish client’s apps to the iOS and Android stores in under an hour. It’s vital to build each application with a code-controlled environment. Codemagic has eliminated the ‘it works on my machine’ problem.” – Alan Hannah

“We have written our own back-office platform in Python/Django. The back office allows customization of apps for each client. We can then trigger the build and publication process via the Codemagic API,” said Alan Hannah.

Working with clients and YAML in Codemagic

Criton is triggering white-label builds via the Codemagic API.

The Codemagic engineering team helped Criton to manage their release pipeline for their white-label customers in a single workflow rather than overloading the .yaml file with thousands of lines of boilerplate code. They can reuse parts of the configuration, define an environment variable, and re-write the parts with the Codemagic API. Criton uses this to manage multiple flavors for customers.

What impressed the Criton dev team the most was the very straightforward setup of the project. “We established a proof of concept via the Codemagic dashboard. We then moved to codemagic.yaml configuration for greater control over the build process,” said Alan. “We spoke to the team at Codemagic to discuss our requirements. The team then enabled some extra API fields that we required.”

“At Criton, we configure all workflows via codemagic.yaml. We’ve found efficiencies by defining scripts once and reusing them throughout the codemagic.yaml file,” said Alan

For example, in a workflow defining a script:

 &build_appbundle
       name: Build appbundle
       script: |
         cd $APP_DIR
         flutter build appbundle --release --flavor=production -t lib/main.dart          

Can be called elsewhere by using the * notation. For example:

Scripts:
cd $FCI_BUILD_DIR
*build_appbundle

Criton team developers and QA engineers also really enjoy that they can test on a device without having to build the app themselves.

Codemagic is saving Criton 84% of time – 700 app versions within 7 days instead of 45 days

Before they worked with Codemagic, it would have taken Criton around 90 minutes per client to build and publish apps to the iOS and Android stores. According to Alan, the process required a level of technical knowledge.

“We spent around six weeks in total developing and refining tooling that triggers app publication with the Codemagic API. We’ve reduced the amount of time it takes to trigger an app publication to around 15 minutes or less. The 15 minutes is the manual effort to check the configuration before publication.

The actual time taken to build the clients’ applications on the Codemagic VMs has also been reduced to 35–45 minutes,” Alan Hannah explained.

“Criton has published over 700 apps versions since March. Prior to working with Codemagic, it would have taken 45 workdays for a skilled person to publish over 700 apps. By including Codemagic as part of our toolkit, we published over 700 app versions in 7.5 working days, an 84% time saving,” said Alan

Criton has also used other CI/CD tools. “We used other CI/CD tools for unit-test validation and publishing. The lack of joined-up processes for testing and deployment was a huge missing feature for us,” said Alan.


Take a look at other success stories:

How did you like this article?

Oops, your feedback wasn't sent

Latest articles

Show more posts