【问题标题】:Artifactories integration with BazelArtifactories 与 Bazel 的集成
【发布时间】:2018-01-29 09:28:50
【问题描述】:

我目前正在尝试使用 git 存储库中的源代码和工件中的一些依赖项来构建项目。我需要首先将所有源代码和二进制文件从 repo 和 artifactory 下载到我的本地工作区。

我找不到任何有关与 bazel 集成的工件的信息。我可以看到已请求此功能https://www.jfrog.com/jira/browse/RTFACT-15428?jql=labels%20%3D%20bazel。 有没有人知道任何可以首先下载资源然后构建它们的构建工具? 我需要 git 和 artifactory 的支持。

【问题讨论】:

    标签: build artifactory bazel


    【解决方案1】:

    根据Bazel documentation for Java,您可以使用规则maven_jar定义解析到Maven的外部依赖项。

    由于 Artifactory 支持 Maven,您可以在 Maven 存储库中设置依赖项,并使用 Bazel 构建脚本从那里检索工件。

    在构建的另一端,Bazel 构建的发布似乎是 a work-in-progresson the roadmap

    【讨论】:

    • 人们如何使用 bazel 处理对私有 Artifactory 存储库的身份验证。这对我们来说是一个障碍。
    【解决方案2】:

    您也可以尝试在 Skylark 中编写神器规则:https://docs.bazel.build/versions/master/skylark/repository_rules.html

    【讨论】:

      【解决方案3】:

      远程构建缓存

      Bazel 支持使用 PUT 和 GET 方法作为 http 缓存的任何 HTTP 1.1 服务器。还支持简单的 HTTP 身份验证。这意味着使用 Artifactory 作为远程构建缓存很简单。

      1. 在 Artifactory 中创建一个新的通用存储库。

      现在运行 bazel 为

      bazel test \
         --remote_http_cache=https://user:password@[...].com:8081/artifactory/bazel/ \
         test //...
      

      有关 Bazel 文档,请参阅 https://docs.bazel.build/versions/master/remote-caching.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-10
        • 1970-01-01
        • 1970-01-01
        • 2020-02-28
        • 2011-12-17
        • 2020-04-13
        相关资源
        最近更新 更多