My personal deployment automation script for iOS, Android, & Web projects
I have a number of projects and each project has a number of applications (ex: Client 1 has an iOS and an Android app, Client 2 has an iOS and a web app, etc). This is a simple and easy way to manage deploying updates for all of these different applications.
This will not take the place of a standard CI/CD pipeline but is rather a wrapper around all the things you have to do to get your code into the pipeline.
- Place this script in you main development folder
- Sort projects into either a
personal
orclients
subdirectory - If projects have multiple components (say an iOS and Android app), create a subdirectory for each application (ex: backend, android, or ios)
- If a project is a single component, place the source directly in this folder
- Example File Structure
/Users/ryan/Development/
clients
abc
:config.ini
abc-ios
abc-android
abc-backend
personal
xyz
- Sort projects into either a
- There must also be a
config.ini
located in each directory- The
config.ini
must have the following attributes
- The
[abc]
title="Alpha Bravo Charlie"
root_dir="a_b_c"
link="https://link-to-download.com"
The script will simply open SourceTree
- Update Fastlane
- (Optionally) Run ImageOptim
- Run your Fastlane lanes (either beta or release builds)
- Create a git commit using the version number (ex: 5)
- Create a tag with the version name (ex: 1.2.3)
- Push to remote
- Update Fastlane
- (Optionally) Run ImageOptim
- (Optionally) Generate screenshots (using Fastlane)
- (Optionally) Update the
acknowledgements.plist
inSettings.bundle
(from CocoaPods) - Download existing meta data from the App Store (using Fastlane)
- Ask for your change log (will be displayed on the App Store)
- Run your Fastlane lanes (either beta or release builds)
- Create a git commit using the version number (ex: 5)
- Create a tag with the version name (ex: 1.2.3)
- Push to remote
- Add support for Mac applications