v2.15.1 c808592

push.md RawHistoryFolder

Push Command

Tag, push, and optionally deploy an image to the Gordon registry.

gordon push

Synopsis

gordon push <domain> [options]

Arguments

Argument Description
<domain> The route domain to resolve the registry and repository from

Options

Option Description
--build Build the image first using docker buildx
-f, --file Path to Dockerfile (default: ./Dockerfile, used with --build)
--platform Target platform for buildx (default: linux/amd64)
--build-arg Additional build args (repeatable, KEY=VALUE)
--tag Override version tag (default: git describe --tags --abbrev=0)
--no-confirm Skip deploy confirmation prompt
--no-deploy Push only; skip deployment prompt
--remote Remote Gordon URL
--token Authentication token for remote

Description

gordon push resolves the route image for <domain>, tags the image for the Gordon registry, pushes it, and optionally deploys it.

  • The registry and repository are derived from the route image on the server.
  • The version tag defaults to the latest git tag. If no tag is found, latest is used.
  • When --build is set, the command builds with docker buildx build --load and injects VERSION=<tag> plus any --build-arg values.
  • Use -f/--file to build from a Dockerfile outside the current directory root.
  • The version tag and latest are both pushed (unless the version is latest).

Examples

# Build, push, and deploy
gordon push myapp.example.com --build

# Push existing local image, skip deploy
gordon push myapp.example.com --tag v1.2.0 --no-deploy

# Push and deploy without confirmation
gordon push myapp.example.com --no-confirm

# Build for ARM and pass build args
gordon push myapp.example.com --build --platform linux/arm64 --build-arg CGO_ENABLED=0

# Build from a custom Dockerfile path
gordon push myapp.example.com --build -f docker/app/Dockerfile

Notes

  • Remote mode required. See CLI Overview for targeting options.
  • --build requires Docker with Buildx. Docker Desktop includes it; on Linux, install the docker-buildx-plugin package.
source
1# Push Command
2
3Tag, push, and optionally deploy an image to the Gordon registry.
4
5## gordon push
6
7### Synopsis
8
9```bash
10gordon push <domain> [options]
11```
12
13### Arguments
14
15| Argument | Description |
16|----------|-------------|
17| `<domain>` | The route domain to resolve the registry and repository from |
18
19### Options
20
21| Option | Description |
22|--------|-------------|
23| `--build` | Build the image first using `docker buildx` |
24| `-f, --file` | Path to Dockerfile (default: `./Dockerfile`, used with `--build`) |
25| `--platform` | Target platform for buildx (default: `linux/amd64`) |
26| `--build-arg` | Additional build args (repeatable, `KEY=VALUE`) |
27| `--tag` | Override version tag (default: `git describe --tags --abbrev=0`) |
28| `--no-confirm` | Skip deploy confirmation prompt |
29| `--no-deploy` | Push only; skip deployment prompt |
30| `--remote` | Remote Gordon URL |
31| `--token` | Authentication token for remote |
32
33### Description
34
35`gordon push` resolves the route image for `<domain>`, tags the image for the
36Gordon registry, pushes it, and optionally deploys it.
37
38- The registry and repository are derived from the route image on the server.
39- The version tag defaults to the latest git tag. If no tag is found, `latest`
40  is used.
41- When `--build` is set, the command builds with `docker buildx build --load`
42  and injects `VERSION=<tag>` plus any `--build-arg` values.
43- Use `-f/--file` to build from a Dockerfile outside the current directory root.
44- The version tag and `latest` are both pushed (unless the version is `latest`).
45
46### Examples
47
48```bash
49# Build, push, and deploy
50gordon push myapp.example.com --build
51
52# Push existing local image, skip deploy
53gordon push myapp.example.com --tag v1.2.0 --no-deploy
54
55# Push and deploy without confirmation
56gordon push myapp.example.com --no-confirm
57
58# Build for ARM and pass build args
59gordon push myapp.example.com --build --platform linux/arm64 --build-arg CGO_ENABLED=0
60
61# Build from a custom Dockerfile path
62gordon push myapp.example.com --build -f docker/app/Dockerfile
63```
64
65### Notes
66
67- Remote mode required. See [CLI Overview](./index.md) for targeting options.
68- `--build` requires Docker with Buildx. Docker Desktop includes it; on Linux,
69  install the `docker-buildx-plugin` package.
70
71## Related
72
73- [CLI Overview](./index.md)
74- [Routes Command](./routes.md)
75- [Serve Command](./serve.md)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 106

↑↓ moveenter openesc close