Bazel - 如何从环境文件中读取字符串?

Bazel - How to Read a String from An Environment File?

我的项目中有多个 k8s_object 规则,我为每个规则提供了相同的 cluster 名称,如下所示:

k8s_object(
  name = "k8s_service",
  kind = "service",
  cluster = "gke_cents-ideas_europe-west3-b_cents-ideas",
  template = ":gateway.service.yaml",
)

所以每当我想更改集群名称时,我必须在许多不同的地方进行更改。

目标

我希望在 .env 文件中设置集群名称,如下所示:

KUBERNETES_CLUSTER=my-cluster-name

让 Bazel 自动获取这个值。

https://docs.bazel.build/versions/2.0.0/skylark/tutorial-sharing-variables.html

创建一个 .bzl 文件,您可以在其中声明一个变量。在引用该变量的所有 BUILD 文件中导入此 bzl 文件。