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

如何在Spring Boot Maven构建镜像时添加Paketo OpenTelemetry Buildpack

为Spring Boot Buildpack构建添加Paketo OpenTelemetry Buildpack

你可以通过两种核心方式将paketo-buildpacks/opentelemetry纳入构建流程,同时还有更简便的环境变量触发方案:

方式一:命令行显式指定Buildpack

修改你的Maven命令,新增-Dspring-boot.build-image.buildpacks参数,按执行顺序列出opentelemetry buildpack及原有依赖的buildpack(Buildpack执行顺序会影响构建结果,建议将opentelemetry放在spring-boot buildpack之前):

mvn -f $GITHUB_WORKSPACE/pom.xml -pl service spring-boot:build-image -B -e \
-Dspring-boot.build-image.imageName="${{steps.acr_repo_server.outputs.acr_server}}/${{steps.acr_repo_server.outputs.acr_repository_name}}/${{inputs.microservice_name}}:${{ inputs.build_version }}" \
-Dspring-boot.build-image.buildpacks=paketo-buildpacks/opentelemetry@1.14.0,paketo-buildpacks/ca-certificates@3.2.4,paketo-buildpacks/bellsoft-liberica@9.3.7,paketo-buildpacks/syft@1.12.0,paketo-buildpacks/executable-jar@6.2.4,paketo-buildpacks/dist-zip@5.2.4,paketo-buildpacks/spring-boot@5.12.0 \
-Dmaven.test.skip=true -Dmaven.repo.local=${{ github.workspace }}/.m2/repository

注意:请将1.14.0替换为你需要的opentelemetry buildpack版本号。

方式二:通过pom.xml配置Buildpack列表

在spring-boot-maven-plugin的配置中声明要使用的buildpack集合,避免每次命令行重复输入参数:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <imageName>${your-image-name}</imageName>
            <buildpacks>
                <buildpack>paketo-buildpacks/opentelemetry@1.14.0</buildpack>
                <buildpack>paketo-buildpacks/ca-certificates@3.2.4</buildpack>
                <buildpack>paketo-buildpacks/bellsoft-liberica@9.3.7</buildpack>
                <buildpack>paketo-buildpacks/syft@1.12.0</buildpack>
                <buildpack>paketo-buildpacks/executable-jar@6.2.4</buildpack>
                <buildpack>paketo-buildpacks/dist-zip@5.2.4</buildpack>
                <buildpack>paketo-buildpacks/spring-boot@5.12.0</buildpack>
            </buildpacks>
        </image>
    </configuration>
</plugin>

更简便的触发方式:环境变量开关

Paketo官方builder镜像默认已包含OpenTelemetry Buildpack,只是未自动启用。只需设置BP_OPENTELEMETRY_ENABLED=true环境变量,即可触发该Buildpack参与构建:

命令行添加环境变量

mvn -f $GITHUB_WORKSPACE/pom.xml -pl service spring-boot:build-image -B -e \
-Dspring-boot.build-image.imageName="${{steps.acr_repo_server.outputs.acr_server}}/${{steps.acr_repo_server.outputs.acr_repository_name}}/${{inputs.microservice_name}}:${{ inputs.build_version }}" \
-Dspring-boot.build-image.env.BP_OPENTELEMETRY_ENABLED=true \
-Dmaven.test.skip=true -Dmaven.repo.local=${{ github.workspace }}/.m2/repository

pom.xml配置环境变量

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <imageName>${your-image-name}</imageName>
            <env>
                <BP_OPENTELEMETRY_ENABLED>true</BP_OPENTELEMETRY_ENABLED>
            </env>
        </image>
    </configuration>
</plugin>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:55:32