首页 > 解决方案 > 如何使用 fabric8 maven 插件从环境变量中指定 spring.profiles.active 参数?

问题描述

我有一个定义 ENVIRONMENT 参数的 K8s 配置映射。

该值使用 src/fabric8/deployment.yml 中的摘录作为环境变量安装在部署 yaml 上:

spec:
  template:
    spec:
      containers:
      - env:
        - name: "ENVIRONMENT"
          valueFrom:
              configMapKeyRef:
                  name: global-configmap
                  key: ENVIRONMENT

我想使用那个 ENVIRONMENT 环境变量来配置spring.active.profiles属性。

fabric8 maven插件是否以某种方式支持它?如果没有,你能建议一些解决方法吗?

标签: spring-bootkubernetesfabric8fabric8-maven-plugin

解决方案


另一种有效的方法是在 JAVA_OPTIONS 参数中明确定义它:

spec:
  template:
    spec:
      containers:
      - env:
        - name: JAVA_OPTIONS
          value: "-Dspring.profiles.active=${ENVIRONMENT}"
        - name: ENVIRONMENT
          valueFrom:
              configMapKeyRef:
                  name: global-configmap
                  key: ENVIRONMENT

推荐阅读