gpt4 book ai didi

java - 以生产就绪方式执行 bazel-buildfarm,无需 "bazel run"

转载 作者:太空宇宙 更新时间:2023-11-04 09:17:16 25 4
gpt4 key购买 nike

readme of Bazel-buildfarm说:

In general do not execute server binaries with bazel run, since bazel does not support running multiple targets.

这听起来像是 bazel run 是为本地测试目的而设计的,而不是为可以运行多个作业的生产服务器而设计的。但我找不到显示如何运行 bazel 服务器的文档。 Older Dockerfiles运行 bazel build,然后使用 java 执行生成的 jar 文件。我在我的测试机上尝试了此操作并收到以下错误:

[vagrant@localhost bazel-buildfarm]$ java -Djava.util.logging.config.file=/config/logging.properties -jar bazel-bin/src/main/java/build/buildfarm/buildfarm-server.jar
no main manifest attribute, in bazel-bin/src/main/java/build/buildfarm/buildfarm-server.jar

之前的构建似乎有效:

[vagrant@localhost bazel-buildfarm]$ bazel build //src/main/java/build/buildfarm:buildfarm-server
Starting local Bazel server and connecting to it...
[...]
INFO: Analyzed target //src/main/java/build/buildfarm:buildfarm-server (94 packages loaded, 1623 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /home/vagrant/.cache/bazel/_bazel_vagrant/277990f61896f4bac21fb997fb976b70/sandbox
Target //src/main/java/build/buildfarm:buildfarm-server up-to-date:
bazel-bin/src/main/java/build/buildfarm/buildfarm-server.jar
bazel-bin/src/main/java/build/buildfarm/buildfarm-server
INFO: Elapsed time: 11.180s, Critical Path: 0.61s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action

并且 jar 文件存在:

[vagrant@localhost bazel-buildfarm]$ l bazel-bin/src/main/java/build/buildfarm/buildfarm-server
-r-xr-xr-x. 1 vagrant vagrant 17K Nov 11 11:27 bazel-bin/src/main/java/build/buildfarm/buildfarm-server

我刚刚使用具有所有依赖项的 CentOS 存储库(gcc gcc-c++)安装了 bazel,并克隆了 bazel-buildfarm 的 git 存储库。与

bazel run //src/main/java/build/buildfarm:buildfarm-server $(pwd)/examples/server.config.example

服务器至少可以成功启动:

INFO: Analyzed target //src/main/java/build/buildfarm:buildfarm-server (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //src/main/java/build/buildfarm:buildfarm-server up-to-date:
bazel-bin/src/main/java/build/buildfarm/buildfarm-server.jar
bazel-bin/src/main/java/build/buildfarm/buildfarm-server
INFO: Elapsed time: 0.325s, Critical Path: 0.00s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov 12, 2019 3:08:13 PM build.buildfarm.server.BuildFarmServer <init>
INFO: buildfarm-server-c6735a2a-2c1b-473e-9d3e-14fe5d01c27d initialized

我做错了什么?或者还有另一种方法如何以生产就绪的方式运行 bazel?

平台:CentOS 7.7.1908,Vagrant 上带有 Bazel 1.1.0

最佳答案

虽然我不知道有关 buildfarm 的任何具体信息,但您可能在使用 Bazel 运行的目标及其参数之间缺少双破折号 (--)。你的命令行可能应该是这样的:

bazel run //src/main/java/build/buildfarm:buildfarm-server -- $(pwd)/examples/server.config.example

关于java - 以生产就绪方式执行 bazel-buildfarm,无需 "bazel run",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58823364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com