Files

58 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# docker-build
Reusable Gitea Actions workflow: runs [replace-build-vars](https://git.custom-coding.net/templates/replace-build-vars), builds a Docker image, tags it according to the ref and pushes it.
## Usage
```yaml
jobs:
docker:
uses: templates/docker-build/.gitea/workflows/docker.yaml@v1
with:
DockerImageDomain: registry.example.com
DockerImageOrganisation: my-org
DockerImageName: my-app
DockerImageVersion: ${{ github.ref_name }}
# DockerFilePath: ./Dockerfile
secrets:
DockerUsername: ${{ secrets.DOCKER_USERNAME }}
DockerPassword: ${{ secrets.DOCKER_PASSWORD }}
```
## Inputs / secrets
| Name | Required | Default | Description |
|---|---|---|---|
| `DockerImageDomain` | yes | | Registry domain |
| `DockerImageOrganisation` | yes | | Namespace in the registry |
| `DockerImageName` | yes | | Image name |
| `DockerImageVersion` | yes | | Value for the `VERSION` build-arg |
| `DockerFilePath` | no | `./Dockerfile` | Path to the Dockerfile |
| secret `DockerUsername` | yes | | Registry user |
| secret `DockerPassword` | yes | | Registry password / token |
## Tags
Every build is tagged `:latest`, plus one tag based on the ref:
| Ref | Tag | Pushed |
|---|---|---|
| `master`, `main` | `:<branch>` | yes |
| `develop`, `feature/*` | branch with `/` → `-` | yes |
| git tag | `:<tag>` | yes |
| pull request | `:pr-<number>` | yes |
| any other branch | | no (build only) |
## Versioning
Only major tags (`v1`, `v2`, …). Fixes move the existing tag. Changing inputs, secrets or tagging behavior needs a new major tag.
History before the move: [UltimateCoder/resuable-workflows](https://git.custom-coding.net/UltimateCoder/resuable-workflows) (`@v1`–`@v3` there remain frozen).
## Entscheidungen
Decisions by the owner of the `templates` org:
- 2026-10-15: Only major tags (`v1`, `v2`, …), no `vX.Y.Z` tags (see Versioning).
- 2026-10-17: All repos in the `templates` org are public, so consumers' runners can fetch them without credentials. They never contain secrets or internal addresses: secrets come in as `secrets:`, hosts as inputs.