diff --git a/Dockerfile b/Dockerfile index dfa3965..7844a1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,3 +12,6 @@ EXPOSE 5157 # 启动应用 ENTRYPOINT ["java", "-jar", "LPT.jar"] + +# 健康检查 +HEALTHCHECK --interval=10s --timeout=5s CMD curl --fail http://localhost:5157/actuator/health || exit 1 diff --git a/Jenkinsfile b/Jenkinsfile index d26142a..6cc01a5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,5 +37,23 @@ pipeline { ''' } } + + stage('Check Docker Status') { + agent any + steps { + script { + timeout(time: 60, unit: 'SECONDS') { + waitUntil { + def status = sh( + script: "docker inspect -f '{{.State.Health.Status}}' $CONTAINER_NAME || echo 'unhealthy'", + returnStdout: true + ).trim() + echo "Current container status: ${status}" + return (status == 'healthy') + } + } + } + } + } } }