Add deployment pipeline, Dockerfile, Nomad spec and tests
Some checks failed
Build and Deploy PunktFri / build-and-deploy (push) Has been cancelled

- Dockerfile: python:3.12-slim + gunicorn, dynamic port, BUILD_VERSION args
- punktfri.nomad: Traefik routing for punktfri.i80.dk, host volume for SQLite
- .gitea/workflows/deploy.yml: build/push to Harbor, deploy to Nomad
- Makefile: install/run/test/build targets
- tests/test_app.py: 9 pytest tests covering all routes and validation
- requirements.txt: add gunicorn
- requirements-dev.txt: pytest
- app.py: health endpoint returns version/commit info
This commit is contained in:
Henrik Jess Nielsen
2026-04-26 18:32:32 +02:00
parent 7fe85dfe2c
commit f098c65ca0
9 changed files with 329 additions and 1 deletions

21
Makefile Normal file
View File

@@ -0,0 +1,21 @@
VENV := .venv
PYTHON := $(VENV)/bin/python
PIP := $(VENV)/bin/pip
PYTEST := $(VENV)/bin/pytest
.PHONY: install run test build
$(VENV)/bin/activate:
python3 -m venv $(VENV)
install: $(VENV)/bin/activate
$(PIP) install --quiet -r requirements-dev.txt
run: install
PORT=5000 $(PYTHON) app.py
test: install
$(PYTEST) tests/ -v
build:
docker build -t punktfri:local .