/Jetpush

Continues Deployment for iOS Apps

Primary LanguageShellMIT LicenseMIT

Jetpush

Jetpush is a Continues Deployment tool for iOS distribution with automatic signing.
Also Jetpush can create GitHub and GitLab CI configuration.

How it works

Jetpush using xcodebuild commandline tool to archive and export project to an IPA file.
Jetpush communicate with jetpush-config.env which contains project constants. Jetpush export-configurations reads from known ExportOptions.plist from jetpush-config.env, At last it commit and push result to git with message of IPA information.

Requirements

  • macOS
  • Xcode 10.2+

Also fully compatible with GitHub and GitLab runners

Installation

1. Clone the repo:

https://github.com/mohamadrezakoohkan/Jetpush

2. Change directory to Jetpush:

cd Jetpush

3. Install jetpush:

This line will create an executable refrence in /usr/local/bin, Then you can directly call jetpush everywhere

./jetpush install 

4. Go to your xcode project directory:

cd mySample

5. Open xcode:

open mySample.xcworkspace

6. In the project setting select your target, then open Signing & Capabilities And turn on:

`Automatically manage signing`

7. Back too Terminal and initialize jetpush-config.env using:

jetpush init

8. Open jetpush-config.env and fill the configurations as need.

If you have xcworkspace just fill WORKSPACE

PROJECT="" # If there was not xcworkspace define -> mySample.xcodeproj
WORKSPACE="mySample.xcworkspace"
SCHEME="mySample"
CONFIGURATION="Release" # Or Debug, ...
EXPORT_OPTIONS="ExportOptions.plist" # You can name your export-options whatever you like

9. Generate CI configuration:

  • If your app hosted by GitLab run:
    jetpush gitlab
  • Else if your app hosted by GitHub run:
    jetpush github

10. Run jetpush in terminal to see the magic

jetpush

Contact

Follow and contact me on Instagram, Github, LinkedIn and stack overflow. If you find an issue open a ticket. You can send me email at mohamad_koohkan@icloud.com .

License

Plister is released under the MIT license.