All Projects → dwmkerr → beautifully-simple-app-ci

dwmkerr / beautifully-simple-app-ci

Licence: other
This repository demonstrates some beautifully simple techniques for handling CI and CI for mobile apps. These techniques are appliclable to many mobile technologies and development platforms and compliment many different CI/CD toolchains.

Programming Languages

Makefile
30231 projects
C#
18002 projects
swift
15916 projects
objective c
16641 projects - #2 most used programming language
javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language

beautifully-simple-app-ci

This repository demonstrates some beautifully simple techniques for handling CI and CI for mobile apps. It is the companion to my article 'Tips and Tricks for Beautifully Simple Mobile App CI'.

Each sample project demonstrates the same fundamental techniques, applied to a different combination of technologies and CI/CD providers. Each pipeline can be run locally with ease.

Sample Build Tool CI/CD Provider App Distribution Technology Status
React Native App Gradle, Gym CircleCI TestFairy CircleCI
Ionic 2 Hybrid App Cordova TravisCI HockeyApp Build Status
Native App Gradle, XCode BuddyBuild BuddyBuild BuddyBuild
Xamarin App XBuild Bitrise Bitrise Build Status

The Commands

There is a project wide makefile to quickly build everything:

Command Notes
make build Builds all apps to the artifacts folder.

Here are each of the commands for each of the projects:

The React Native App

The source is at 1_react_native_app:

cd 1_react_native_app
Command Example Notes
make test make test Runs the unit tests.
make build make build Builds the apps to the artifacts folder. Build specific versions with build-android or build-ios.
make deploy make deploy Deploys apps from the artifacts folder to TestFairy. Deploy specific versions with deploy-android or deploy-ios.
make label make label Labels the icon with the current short git SHA.

The Cordova App

The source is at 2_ionic_app:

cd 2_ionic_app
Command Example Notes
make test make test Runs the tests. Currently a no-op.
make build make build Builds the apps to the artifacts folder. Build specific versions with build-android or build-ios.
make deploy make deploy Deploys apps from the artifacts folder to TestFairy. Deploy specific versions with deploy-android or deploy-ios.
make label make label BUILD_NUM=2 VERSION=1.2.3 Labels the icon with the current version (default to what is in package.json) and build number (defaults to 0).

The Native App

The source is at 3_native_app:

cd 3_native_app
Command Example Notes
make test make test Runs the tests. Currently a no-op.
make label make label BUILD_NUM=2 LABEL=UAT Labels the icon with the label (default to QA) and build number (defaults to 0).

The Xamarin App

The source is at 4_xamarinapp:

cd 2_xamarinapp
Command Example Notes
make build make build Builds the apps to the artifacts folder. Build specific versions with build-android or build-ios.
make label make label BUILD_NUM=2 ENV=qa Labels the icon with the current env (default to production) and build number (defaults to 0).
make name make name ENV=qa Sets the App ID to com.dwmkerr.xamarinapp (default) or com.dwmkerr.xamarinapp_$(ENV) otherwise.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].