I use this script to deploy Mac Apps that I deliver direct to the the customer (not via the Mac App Store). This script is heavily customised but shoud suit as a starting point if you looking to automate your deployments.
The script performs the following operations:
- Takes the path of the app from the clipboard (I use a script during the build process to set it).
- Zips the file.
- Signs the zip file for Sparkle.
- Builds the AppCast
- Creates a deployment script which copies the zip file, AppCast and ReleaseNotes.
- Customise the script to you app, local environment and server.
- Call the script with ./package-update.sh
- Write the release notes and save them.
- Call the generated deployment script to transmit the files with ./deploy-update.sh
- ???
- Profit.
- Make generic.
- Support beta releases and test environments.
- Generate release notes from git log.
- Automatically tag release with git.
- Switch to arguments rather than grapping file path from the clipboard.