fix: lokale Docker build werkend krijgen
Drie fixes om de container lokaal (en op de NAS) te kunnen builden en draaien: - Dockerfile: clone scrum4me-mcp zonder --recurse-submodules. De Prisma- schema zit al gecommit in het scrum4me-mcp repo; de vendor/scrum4me submodule is alleen nodig voor schema-updates en wijst naar een privaat repo dat tijdens docker build niet bereikbaar is. - Dockerfile: voeg /usr/sbin en /sbin toe aan PATH zodat gosu (in /usr/sbin/gosu na apt-install) gevonden wordt door entrypoint.sh. Zonder dit faalt de container in een restart loop. - Verplaats alle runner scripts naar bin/ en maak etc/ aan, zodat COPY bin/ en COPY etc/ in de Dockerfile bestanden vinden. Verder: - .gitattributes om CRLF-corruptie van shell scripts op Windows te voorkomen (core.autocrlf=true is default actief). - .gitignore: docker-compose.override.yml uitsluiten zodat lokale dev-overrides niet worden gecommit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
9d8a7fe237
commit
47b1de93db
12 changed files with 17 additions and 5 deletions
49
bin/job-cleanup.sh
Normal file
49
bin/job-cleanup.sh
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
# job-cleanup.sh — sluit een per-job working tree af
|
||||
#
|
||||
# Usage: job-cleanup.sh <job_id>
|
||||
#
|
||||
# - Bewaart `git log` en `git diff` van de feature-branch in
|
||||
# /var/log/agent/jobs/<job_id>/ zodat je achteraf kunt zien wat de
|
||||
# agent heeft gedaan zonder de NAS-share met clones te vervuilen.
|
||||
# - Verwijdert de working tree.
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
source /opt/agent/bin/_lib.sh
|
||||
|
||||
: "${AGENT_JOB_ROOT:=/tmp}"
|
||||
: "${AGENT_LOG_DIR:=/var/log/agent}"
|
||||
|
||||
JOB_ID="${1:-}"
|
||||
if [[ -z "$JOB_ID" ]]; then
|
||||
log "usage: $0 <job_id>"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
WORK_DIR="${AGENT_JOB_ROOT}/job-${JOB_ID}"
|
||||
ARCHIVE_DIR="${AGENT_LOG_DIR}/jobs/${JOB_ID}"
|
||||
|
||||
mkdir -p "$ARCHIVE_DIR"
|
||||
|
||||
if [[ -d "$WORK_DIR/.git" ]]; then
|
||||
log "archiving git artifacts to ${ARCHIVE_DIR}"
|
||||
(
|
||||
cd "$WORK_DIR"
|
||||
git log --oneline --decorate -n 50 origin/main..HEAD \
|
||||
> "$ARCHIVE_DIR/commits.txt" 2>/dev/null || true
|
||||
git diff origin/main..HEAD \
|
||||
> "$ARCHIVE_DIR/diff.patch" 2>/dev/null || true
|
||||
git rev-parse HEAD \
|
||||
> "$ARCHIVE_DIR/HEAD" 2>/dev/null || true
|
||||
git branch --show-current \
|
||||
> "$ARCHIVE_DIR/branch" 2>/dev/null || true
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ -d "$WORK_DIR" ]]; then
|
||||
log "removing ${WORK_DIR}"
|
||||
rm -rf "$WORK_DIR"
|
||||
fi
|
||||
|
||||
log "cleanup complete for job ${JOB_ID}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue