#mongodb #bazel #mongodump #bazel-rules
#mongodb #bazel #mongodump #bazel-правила
Вопрос:
У меня есть служба python, которая выполняет команды оболочки mongodump / mongorestore для архивирования некоторых данных mongodb, и, следовательно, эти команды должны быть доступны в образе docker.
К сожалению, я не могу добавить эти пакеты в образ docker (под управлением centos 7), поскольку он используется несколькими службами.
Сможет ли bazel добавить необходимые зависимости как часть файла сборки? Я попробовал следующее:
genrule(
name = "install_mongodb_tools",
outs = [
"mongodb-database-tools-ubuntu2004-x86_64-100.5.1.tar",
],
cmd = "sudo wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.5.1.tgz amp;amp; "
"sudo tar -zxv mongodb-database-tools-ubuntu2004-x86_64-100.5.1.tgz amp;amp; "
"sudo cp mongodb-database-tools-ubuntu2004-x86_64-100.5.1 /usr/local/bin/",
)
container_image(
name = "service_image",
base = "@xxxx//image",
directory = "/opt",
entrypoint = "/bin/sh",
tags = [
"manual",
],
tars = [
":install_mongodb_tools",
],
)
Комментарии:
1. Рассматривали ли вы возможность использования
http_archive
вместоgenrule
? См. [ docs.bazel.build/versions/main/repo/http.html ] . Не очень помогает с частями изображения docker, но, возможно, это шаг в правильном направлении.