feat: Woodpecker-Plugin deploy für oumta-deploy (#1)
## Was Woodpecker-Plugin `deploy` (`git.uesome.de/actions/ci-cd/deploy`): schreibt ein gepushtes dev- oder beta-Image mit Digest nach `tanztee/oumta-deploy`. Die Umgebung entscheidet dort `ci/deploy-image.sh` anhand des Tags (`-dev.` → dev, `-beta.` → beta, sonst nichts; prod nur per PR). Digest per `crane`, kein Docker-Daemon nötig (dafür tanztee/oumta-deploy#20). - `woodpecker/deploy/`: Dockerfile (`alpine:3.20`, bash, git, crane) und `deploy.sh` - `.woodpecker/plugins.yaml`: Push/PR mit Änderungen unter `woodpecker/deploy/**` → nur Probe-Build (`dry_run`, ohne Secrets); Tag `deploy-vX.Y.Z` → Push als `:vX.Y.Z` - `README.md`: Abschnitt „Woodpecker plugins“ mit Settings und Beispiel Das Token von `oumta-ci` steht nur im Credential-Helper, nicht in URL oder Config. ## Getestet (lokal, crane als Stub, gegen Kopie von oumta-deploy `a74c73d`) | Fall | Ergebnis | | --- | --- | | `v2.0.1-dev.…`, `AUTH_IMAGE` | `deploy(dev): oumta-auth …` | | `v2.0.9-beta.7`, `APP_V{major}_IMAGE` | `APP_V2_IMAGE` in beta | | `v2.0.1` | nichts zu tun, Exit 0 | | keyklo, `envs: dev beta` | zwei Commits | | gleicher Tag erneut | „bereits aktuell“ | | ohne `deploy_token` | Abbruch mit Meldung | Offen: echter Lauf gegen Registry und Gitea per HTTPS. ## Vor dem ersten Lauf in Woodpecker 1. `actions/ci-cd` aktivieren. 2. Repo-Secrets `registry_username`/`registry_password` (Schreibrecht auf Pakete der Org `actions`), nur Event `tag`, nur Image `woodpeckerci/plugin-docker-buildx`. 3. Prüfen, ob `plugin-docker-buildx:6.1.2` privilegiert laufen darf (`WOODPECKER_PLUGINS_PRIVILEGED`). Tag `deploy-v1.0.0` erst nach dem Merge und grünem Probe-Build. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
1 parent
662db558bd
commit
d071358196
4 files changed
+124
No files matched your search
@@ -0,0 +1,33 @@
|
||||
# Builds the plugins in woodpecker/<name>/. A tag <name>-vX.Y.Z pushes
|
||||
# git.uesome.de/actions/ci-cd/<name>:vX.Y.Z; pushes and PRs only test the build.
|
||||
when:
|
||||
- event: [push, pull_request]
|
||||
path: 'woodpecker/deploy/**'
|
||||
- event: tag
|
||||
ref: refs/tags/deploy-v*
|
||||
|
||||
steps:
|
||||
- name: deploy-plugin-check
|
||||
image: woodpeckerci/plugin-docker-buildx:6.1.2
|
||||
settings:
|
||||
repo: git.uesome.de/actions/ci-cd/deploy
|
||||
context: woodpecker/deploy
|
||||
dockerfile: woodpecker/deploy/Dockerfile
|
||||
dry_run: true
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
|
||||
- name: deploy-plugin
|
||||
image: woodpeckerci/plugin-docker-buildx:6.1.2
|
||||
settings:
|
||||
registry: git.uesome.de
|
||||
repo: git.uesome.de/actions/ci-cd/deploy
|
||||
context: woodpecker/deploy
|
||||
dockerfile: woodpecker/deploy/Dockerfile
|
||||
tags: ${CI_COMMIT_TAG##deploy-}
|
||||
username:
|
||||
from_secret: registry_username
|
||||
password:
|
||||
from_secret: registry_password
|
||||
when:
|
||||
event: tag
|
||||
Reference in new issue
Block a user