diff --git a/common/Jenkinsfile.docker.j2 b/common/Jenkinsfile.docker.j2 index d08741d..4f60f81 100644 --- a/common/Jenkinsfile.docker.j2 +++ b/common/Jenkinsfile.docker.j2 @@ -104,7 +104,9 @@ NODE_TYPE=${NODE_TYPE} // 컨테이너 ID 및 상태 출력 sh "docker compose -p ${env.COMPOSE_PROJECT} ps" + {% raw %} sh "docker compose -p ${env.COMPOSE_PROJECT} ps -q | xargs docker inspect --format '{{.Id}} {{.State.Status}} {{.State.ExitCode}}' || true" + {% endraw %} } } post { @@ -145,11 +147,15 @@ NODE_TYPE=${NODE_TYPE} def isRunning = false while (elapsed < maxWait) { def status = sh( + {% raw %} script: "docker inspect --format '{{.State.Status}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() def exitCode = sh( + {% raw %} script: "docker inspect --format '{{.State.ExitCode}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() @@ -184,11 +190,15 @@ NODE_TYPE=${NODE_TYPE} sleep(stabilize) def finalStatus = sh( + {% raw %} script: "docker inspect --format '{{.State.Status}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() def finalExitCode = sh( + {% raw %} script: "docker inspect --format '{{.State.ExitCode}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() @@ -201,7 +211,9 @@ NODE_TYPE=${NODE_TYPE} // ── Docker HEALTHCHECK 확인 (정의된 경우) ─ def healthStatus = sh( + {% raw %} script: "docker inspect --format '{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() @@ -213,7 +225,9 @@ NODE_TYPE=${NODE_TYPE} sleep(interval) healthElapsed += interval healthStatus = sh( + {% raw %} script: "docker inspect --format '{{.State.Health.Status}}' ${containerId}", + {% endraw %} returnStdout: true ).trim() echo "[Verify] HEALTHCHECK elapsed=${healthElapsed}s | status=${healthStatus}" @@ -236,7 +250,9 @@ NODE_TYPE=${NODE_TYPE} echo '[Verify] --- 컨테이너 기동 로그 (첫 30줄) ---' sh "docker logs ${containerId} 2>&1 | head -30 || true" echo '[Verify] --- 컨테이너 상태 ---' + {% raw %} sh "docker inspect --format 'ID={{.Id}}\nStatus={{.State.Status}}\nStartedAt={{.State.StartedAt}}\nImage={{.Config.Image}}' ${containerId} || true" + {% endraw %} } } post {