31 lines
1.1 KiB
Docker
31 lines
1.1 KiB
Docker
# Obraz runnera dla pipeline'u agentowego.
|
|
# W środowisku regulowanym buduj go u siebie i publikuj do wewnętrznego rejestru -
|
|
# job modyfikujący kod nie powinien ciągnąć obrazu z internetu przy każdym uruchomieniu.
|
|
FROM python:3.12-slim
|
|
|
|
ARG APM_VERSION=latest
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
git ca-certificates ripgrep curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# APM CLI - dostawca kontekstu agentowego.
|
|
# W sieci wewnętrznej podmień na instalację z lustra pakietów (PIP_INDEX_URL).
|
|
RUN pip install --no-cache-dir "apm-cli${APM_VERSION:+}" || \
|
|
(echo "Instalacja apm-cli z PyPI nieudana - uzupełnij obraz o lustro wewnętrzne" && exit 1)
|
|
|
|
WORKDIR /opt/agentic-codemod
|
|
COPY pyproject.toml ./
|
|
COPY src ./src
|
|
RUN pip install --no-cache-dir .
|
|
|
|
# Runner nie pracuje na koncie root - zmiany w repozytorium mają być zwykłymi plikami.
|
|
RUN useradd --create-home --uid 1001 codemod
|
|
USER codemod
|
|
|
|
ENTRYPOINT ["agentic-codemod"]
|
|
CMD ["--help"]
|