Files
ti/.gitea/workflows/deploy.yml
Henrik Jess Nielsen 1a3476c4d3
Some checks failed
deploy / deploy (push) Has been cancelled
Add Flask shopping app with Nomad deployment
Flask app serving the Citti shopping list with SQLite persistence,
per-category item addition, dynamic custom categories, photo upload,
and a post-trip price analysis page.

- Port 9756, DATA_DIR env var for persistent volume in Nomad
- Gitea Actions pipeline builds Docker image and deploys via Nomad API
- Makefile targets: run, install, build, push

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 00:54:07 +02:00

42 lines
1.1 KiB
YAML

name: deploy
on:
push:
branches: [main]
env:
IMAGE: gea.i80.dk/hjess/citti
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to Gitea registry
run: |
echo "${{ secrets.GITEA_TOKEN }}" | \
docker login gea.i80.dk -u ${{ github.actor }} --password-stdin
- name: Build & push image
run: |
docker build \
-t ${{ env.IMAGE }}:latest \
-t ${{ env.IMAGE }}:${{ github.sha }} .
docker push ${{ env.IMAGE }}:latest
docker push ${{ env.IMAGE }}:${{ github.sha }}
- name: Deploy to Nomad
env:
NOMAD_ADDR: ${{ secrets.NOMAD_ADDR }}
NOMAD_TOKEN: ${{ secrets.NOMAD_TOKEN }}
run: |
JOB_JSON=$(curl -sf "${NOMAD_ADDR}/v1/jobs/parse" \
-H "Content-Type: application/json" \
-d "{\"JobHCL\": $(jq -Rs . < citti.nomad)}")
curl -sf -X POST "${NOMAD_ADDR}/v1/jobs" \
-H "X-Nomad-Token: ${NOMAD_TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"Job\": ${JOB_JSON}}"
echo "✓ Deployed"