diff --git a/internal/builder/context.go b/internal/builder/context.go index 31d9fa5..ee73de2 100644 --- a/internal/builder/context.go +++ b/internal/builder/context.go @@ -132,11 +132,17 @@ func generateDockerfile(runtime string, hasRequirements bool, hasPackageJSON boo if hasRequirements { content += "RUN pip install --no-cache-dir -r /app/function/requirements.txt\n" } + // Проверяем синтаксис всех .py файлов на этапе сборки образа. + // Если в коде синтаксическая ошибка — kaniko завершится с ошибкой и фаза = Failed. + // Без этого шага образ собирается успешно, а под падает в CrashLoopBackOff при запуске. + content += "RUN python -m py_compile $(find /app/function -name '*.py')\n" case "nodejs20": if hasPackageJSON { // cd нужен т.к. npm install читает package.json из текущей директории content += "RUN cd /app/function && npm install --omit=dev\n" } + // Проверяем синтаксис всех .js файлов через node --check. + content += "RUN find /app/function -name '*.js' | xargs -r node --check\n" } return []byte(content), nil }