grounds push is the command you’ll run dozens of times a day. It’s a thin wrapper over the Gradle plugin: the CLI invokes ./gradlew groundsPush with the right arguments and inherits its stdout.
Synopsis
push
./gradlew groundsPush --target=<t> in the current directory. The Gradle plugin handles:
- Resolving the JAR (auto-detects
shadowJarorjar). - Reading and validating
grounds.yaml. - Uploading JAR + manifest to forge.
- Streaming build + deploy logs back to your terminal.
- Exiting with a non-zero code on any terminal failure.
grounds push uses the release sources declared in
grounds.yaml. Local plugin builds are opt-in through
workspace overrides.
Local plugin overrides
Use--local when one or more entries in grounds.yaml: plugins should come
from your local workspace instead of the release source:
--local accepts both comma-separated IDs and repeated flags. IDs must match
the structured plugin id in grounds.yaml.
Use --with-local when every enabled workspace mapping present in
grounds.yaml should be replaced by its local artifact:
push retry
pending to building. Use it when:
- A build failed because of a transient infra issue (image pull, registry hiccup).
- A deploy failed and you want to try again without rebuilding.
push list
| Flag | Purpose |
|---|---|
--target | Filter by target: dev, staging, production. |
--status | Filter by state: pending, building, build_failed, build_succeeded, deploying, deploy_failed, ready. |
--limit | Max rows to fetch (default 20, server cap 200). |
--output | table (default), json, or yaml. |
Common flags
These are all global flags and apply to every subcommand:| Flag | Env | Purpose |
|---|---|---|
--project <id> | GROUNDS_PROJECT | Pin the project for this call |
--api-url <url> | GROUNDS_API_URL | Override the forge endpoint |
--config <dir> | GROUNDS_CONFIG_DIR | Override config dir |
--output <fmt> | — | table / json / yaml |
--verbose / -v | — | Debug logs to stderr |
--no-color | NO_COLOR=1 | Disable ANSI colors |
Reading the output
A successful push looks like:CrashLoopBackOff, you’ll see deploy logs streamed before the CLI gives up and prints deploy_failed. Tail the live deployment logs separately at any time:
Exit codes
For a practical failure investigation flow, see Debug pushes and deployments.| Code | Meaning |
|---|---|
| 0 | ready reached |
| 1 | Generic failure (validation, network, config) |
| 2 | build_failed |
| 3 | deploy_failed |
| 130 | Cancelled by user (Ctrl-C) |
