You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus是否具备类似SpringBoot的Git信息运行时暴露功能(适配测试环境)?

Quarkus 获取运行时Git相关信息的方案

Quarkus 确实具备类似 Spring Boot Actuator /info 接口的能力,能在运行时提供Git版本、提交信息等制品元数据,具体实现方式如下:

1. 使用 quarkus-git-info 扩展

添加该扩展后,Quarkus会自动收集当前代码仓库的Git信息(包括提交哈希、分支名称、提交时间、作者等),并将这些信息封装成GitInfo对象供应用调用。

  • 添加依赖:
    在pom.xml(Maven)中加入:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-git-info</artifactId>
    </dependency>
    

    或者build.gradle(Gradle):

    implementation 'io.quarkus:quarkus-git-info'
    
  • 暴露Git信息为REST接口:
    你可以自定义一个REST端点,注入GitInfo对象并返回信息:

    import io.quarkus.git.GitInfo;
    import jakarta.inject.Inject;
    import jakarta.ws.rs.GET;
    import jakarta.ws.rs.Path;
    import jakarta.ws.rs.Produces;
    import jakarta.ws.rs.core.MediaType;
    
    @Path("/git-info")
    public class GitInfoResource {
    
        @Inject
        GitInfo gitInfo;
    
        @GET
        @Produces(MediaType.APPLICATION_JSON)
        public GitInfo getGitInfo() {
            return gitInfo;
        }
    }
    

    启动应用后,访问/git-info就能拿到结构化的Git元数据。

2. 集成到健康检查端点

如果想把Git信息和应用健康状态一起展示,可以结合quarkus-smallrye-health扩展,自定义健康检查来包含Git信息:

import io.quarkus.git.GitInfo;
import jakarta.inject.Inject;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Readiness;

@Readiness
public class GitInfoHealthCheck implements HealthCheck {

    @Inject
    GitInfo gitInfo;

    @Override
    public HealthCheckResponse call() {
        return HealthCheckResponse.named("git-info")
                .withData("commit-id", gitInfo.getCommitId())
                .withData("branch", gitInfo.getBranch())
                .withData("commit-time", gitInfo.getCommitTime().toString())
                .up()
                .build();
    }
}

访问/q/health/ready就能看到包含Git信息的健康检查结果。

3. 配置与自定义

你可以通过application.properties调整Git信息的收集行为,比如:

  • quarkus.git.info.enabled=true:开启/关闭Git信息收集(默认开启)
  • quarkus.git.info.commit-id-full=true:返回完整的提交哈希(默认返回短哈希)

这些配置能让你根据测试环境的需求调整输出内容。


内容的提问来源于stack exchange,提问作者Danel Rod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:01:43