Continuous integration
Run releases and patches from any CI. This page covers what every provider needs; the provider pages have ready-to-use files.
Publishing from CI is part of Pro and up. On Hobby, run releases and patches from a logged-in computer.
1. Get a token
On a computer where the project already works (you ran overpush init there), run:
$ overpush token
It prints two values. Add both as secrets in your CI:
| Secret | What it is |
|---|---|
OVERPUSH_TOKEN | Lets CI publish for this app. Treat it like a password. |
OVERPUSH_API_BASE | The OverPush server address. |
The token is its own key. It shows as a CI key under Connected projects in the app's settings in the console. Remove it there to stop CI; logging out on your computer does not affect it.
2. Pick a runner
| Android | Any runner: Linux, Windows or macOS. |
| iOS | A macOS runner with Xcode, set up for code signing as you would for flutter build ipa. |
Use the same Flutter version as the release you patch. See Flutter versions.
3. Install the CLI
$ curl -fsSL https://overpush.in/install.sh | bash
Then call it as ~/.overpush/bin/overpush, or add that folder to the job's PATH.
> irm https://overpush.in/install.ps1 | iex
Then call it as $env:USERPROFILE\.overpush\bin\overpush.exe.
4. Run commands without prompts
Every command that asks for confirmation accepts --yes. If no valid token is set, the CLI stops with a clear error instead of waiting for a browser.
$ overpush release android --yes $ overpush patch android --yes --rollout-percent 10
$ overpush release ios --yes $ overpush patch ios --yes --rollout-percent 10
Patching from a fresh runner
A runner usually starts empty, without the files from the release build. You don't need to copy them: overpush release keeps them on the OverPush server, and overpush patch downloads them when they're missing.
A runner with no releases of its own patches the newest release.