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

如何通过bootBuildImage为Spring Boot 3 Gradle项目集成NewRelic并注入环境变量?

集成NewRelic到Spring Boot 3镜像(基于Gradle bootBuildImage)

1. 配置NewRelic Buildpack

在你的build.gradle或build.gradle.kts中,修改bootBuildImage任务,添加NewRelic的Buildpack:

Groovy DSL(build.gradle)

tasks.named("bootBuildImage") {
    // 先指定Java基础Buildpack,再添加NewRelic Buildpack
    buildpacks = [
        "paketo-buildpacks/java",
        "paketo-buildpacks/new-relic"
    ]
}

Kotlin DSL(build.gradle.kts)

tasks.named<BootBuildImage>("bootBuildImage") {
    buildpacks = listOf(
        "paketo-buildpacks/java",
        "paketo-buildpacks/new-relic"
    )
}

注意:必须保证Java基础Buildpack在前,NewRelic Buildpack在后,这样代理才能正确挂载到Java运行环境中。

2. 注入NEW_RELIC_ENABLE_AGENT环境变量

有两种灵活的配置方式:

方式一:Gradle配置中直接定义(构建时固化到镜像)

修改bootBuildImage任务,添加环境变量映射:

Groovy DSL

tasks.named("bootBuildImage") {
    buildpacks = [
        "paketo-buildpacks/java",
        "paketo-buildpacks/new-relic"
    ]
    environment = mapOf(
        "NEW_RELIC_ENABLE_AGENT" to "true" // 按需切换为"false"
    )
}

Kotlin DSL

tasks.named<BootBuildImage>("bootBuildImage") {
    buildpacks = listOf(
        "paketo-buildpacks/java",
        "paketo-buildpacks/new-relic"
    )
    environment = mapOf(
        "NEW_RELIC_ENABLE_AGENT" to "true"
    )
}

方式二:CircleCI运行时动态注入(适合多环境切换)

在CircleCI配置文件(.circleci/config.yml)中,执行构建时通过参数传递变量:

jobs:
  build-image:
    docker:
      - image: cimg/openjdk:17.0
    steps:
      - checkout
      - run:
          name: 构建带NewRelic的Docker镜像
          command: ./gradlew bootBuildImage -PbootBuildImage.environment=NEW_RELIC_ENABLE_AGENT=true

这种方式无需修改Gradle代码,可根据开发/生产等不同环境在CircleCI工作流中切换变量值。

补充说明

  • 除了NEW_RELIC_ENABLE_AGENT,你还可以通过同样的环境变量方式注入NEW_RELIC_LICENSE_KEY等必要配置项。
  • 执行bootBuildImage时,Buildpack会自动完成NewRelic代理的下载、安装和配置,无需手动处理依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:25:47