Прочитать содержимое файла в WORKSPACE
Я использую container_pull
в моем файле WORKSPACE. (Это часть правил докеров bazel)
Вот как это выглядит:
container_pull(
name = "base-image",
registry = "registry:9999",
repository = "base-image",
digest = "sha256:e6f44554a270025c578c0f91160d809735c2589baae80bafcdeebefb0c0b04b6",
tag = "1.1.0"
)
Однако есть файл, содержащий версию base-image
, и я хочу, чтобы он читался из этого файла вместо жесткого кодирования в WORKSPACE.
Как я могу прочитать содержимое файла в WORKSPACE?
1 ответ
Нет прямого способа прочитать файл из файла рабочей области. Вcontainer_pull
Правило должно было бы добавить поддержку чтения из файла.
Обходной путь - поместить файл, содержащий информацию, в .bzl
формат и загрузите его из файла рабочей области.
Что-то вроде этого:
versions.bzl
:
BASE_IMAGE_VERSION = "1.1.0"
WORKSPACE
:
load("//:versions.bzl", "BASE_IMAGE_VERSION")
container_pull(
name = "base-image",
registry = "registry:9999",
repository = "base-image",
digest = "sha256:e6f44554a270025c578c0f91160d809735c2589baae80bafcdeebefb0c0b04b6",
tag = BASE_IMAGE_VERSION,
)
Bazel делает то же самое в своем собственном файле рабочей области:https://github.com/bazelbuild/bazel/blob/669a1a2634bdf267f890cf88833c9712d4e75016/WORKSPACE