ci: migrate from GitHub Actions to Woodpecker CI on Forgejo
- Add .woodpecker.yml with build+push on main, dry-run on pull_request - Image target: 192.168.178.6:8083/cschulz/rd13_media_wiki:latest - Update copilot-instructions.md: GHCR → Forgejo Registry, GH Actions → Woodpecker - Update README.md: replace GitHub Actions reference with Woodpecker CI
This commit is contained in:
parent
2a72e08c13
commit
e8bdd13531
3 changed files with 31 additions and 4 deletions
7
.github/copilot-instructions.md
vendored
7
.github/copilot-instructions.md
vendored
|
|
@ -7,12 +7,12 @@ MediaWiki deployment for rd13 – a self-hosted wiki running in Docker, served v
|
|||
- Language: PHP (MediaWiki core + extensions), YAML, Dockerfile
|
||||
- Framework: MediaWiki
|
||||
- Database: MariaDB
|
||||
- Infrastructure: Docker Compose, GitHub Container Registry (ghcr.io), Linux Server (remote via VS Code Server)
|
||||
- Infrastructure: Docker Compose, Forgejo (self-hosted Git), Woodpecker CI, Forgejo Container Registry, Linux Server (remote via VS Code Server)
|
||||
|
||||
## Architecture
|
||||
- Pattern: Containerised deployment (App + DB as separate services)
|
||||
- Key constraints: No application code changes – configuration and infrastructure only
|
||||
- Image published to: `ghcr.io/c-schulz-rd13/rd13_media_wiki:latest`
|
||||
- Image published to: `192.168.178.6:8083/cschulz/rd13_media_wiki:latest` (Forgejo Container Registry)
|
||||
- Extensions live in: `wikidata/extensions/`
|
||||
- Wiki config: `wikidata/LocalSettings.php`
|
||||
- Upload config: `wikidata/uploads.ini`
|
||||
|
|
@ -21,6 +21,7 @@ MediaWiki deployment for rd13 – a self-hosted wiki running in Docker, served v
|
|||
- Branch naming: `feat/<ticket>-description`, `fix/<ticket>-description`
|
||||
- Commit format: Conventional Commits (`feat|fix|chore|docs|refactor|ci`)
|
||||
- Secrets: never in `docker-compose.yml` or `LocalSettings.php` – use `.env` files or Docker secrets
|
||||
- CI/CD: Woodpecker CI pipeline defined in `.woodpecker.yml` at repo root
|
||||
- Images: always pin with a specific tag, avoid `:latest` in production compose files
|
||||
|
||||
## Engineering Process
|
||||
|
|
@ -51,7 +52,7 @@ A task is only done when ALL of the following are true:
|
|||
## Testing Strategy
|
||||
- No unit/integration tests (deployment-only repo)
|
||||
- Validation: `docker compose config` for compose syntax
|
||||
- Build test: CI pipeline runs `docker buildx build` on PRs
|
||||
- Build test: Woodpecker CI pipeline runs `docker buildx build` (dry-run) on PRs, build+push on merge to `main`
|
||||
|
||||
## Security
|
||||
- No secrets in code or config files – use environment variables / `.env`
|
||||
|
|
|
|||
26
.woodpecker.yml
Normal file
26
.woodpecker.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
steps:
|
||||
# Build and push image on push to main
|
||||
- name: docker-build-push
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
registry: 192.168.178.6:8083
|
||||
repo: 192.168.178.6:8083/cschulz/rd13_media_wiki
|
||||
tags: latest
|
||||
platforms: linux/amd64
|
||||
username: cschulz
|
||||
password:
|
||||
from_secret: RD13_MW_DOCKER_BUILD_TOKEN
|
||||
when:
|
||||
- event: push
|
||||
branch: main
|
||||
|
||||
# Build only (no push) on pull requests
|
||||
- name: docker-build-only
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
repo: 192.168.178.6:8083/cschulz/rd13_media_wiki
|
||||
platforms: linux/amd64
|
||||
dry_run: true
|
||||
when:
|
||||
- event: pull_request
|
||||
branch: main
|
||||
|
|
@ -20,7 +20,7 @@ docker run --rm -it -v ./maps_data:/data -p 8091:80 klokantech/openmaptiles-serv
|
|||
|
||||
## Update of the MediaWiki Core
|
||||
|
||||
Um eine neues Dockerimages mit der neusten Version zu bauen kann mann entweder einen neuen Commit im Master machen, falls Code änderungen nötig sind, oder händisch im Github über Actions den Build Workflow auslösen.
|
||||
Um ein neues Docker-Image mit der neusten Version zu bauen, kann man entweder einen neuen Commit auf `main` pushen (Woodpecker CI baut und pushed das Image automatisch), oder den Build-Workflow händisch in Woodpecker über die UI auslösen.
|
||||
|
||||
Nach dem das neue Images gebaut ist, kann es mit gepulled und gestartet werden.
|
||||
Hierfür kann man folgende Kommandos nehmen.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue