使用 CURL 上传构建

Upload Build using CURL

我一直在尝试寻找一种使用 CURL 将构建上传到 artifactory 的方法。我知道我们可以轻松发送包裹,但我找不到有关发送将登陆此处的构建的信息:

Artifactory Build Browser

谢谢!

一般来说,构建分两步发布:

  1. 属于构建的工件已部署。要将这些工件与构建联系起来,它们必须具有两个属性:build.name 设置为构建名称,build.number 设置为构建编号。如果这些属性设置不正确,Artifactory 将不知道它们属于您的构建。
  2. 构建信息文件已上传。这不是神器,它使用特殊的 REST API (this one)。构建信息文件本身是一个描述构建的 JSON 文件,包含构建名称和编号、属于该构建的所有文件的校验和,以及许多其他(大部分是可选的)信息。这通常是由构建工具生成的,但是上面的 link 到 REST API 有一个示例文件,如果您确实需要它,可以作为参考从头开始制作一个。上传构建信息文件的示例:

    curl -XPUT http://localhost:8081/artifactory/api/build -H "Content-Type: application/json" -T build.json
    

在您的具体情况下,您似乎在使用柯南。您可以查看 this,其中记录了如何生成和上传构建信息文件。步骤:

  1. CONAN_TRACE_FILE 环境变量设置为文件路径。这会将您的构建信息记录到可以转换为构建信息文件的跟踪文件中。
  2. 在您的 Conan 主页中,创建一个文件 artifacts.properties。此文件告诉柯南在部署工件时添加特定属性(包括部署构建所需的 build.namebuild.number)。示例 artifacts.properties 文件:

    artifact_property_build.name=MyBuild
    artifact_property_build.number=23
    artifact_property_build.timestamp=1487676992
    
  3. 运行 所有构建步骤,包括部署工件。每一步都会记录到你在CONAN_TRACE_FILE.

  4. 中设置的文件
  5. 运行 conan_build_info 命令并将路径传递给 CONAN_TRACE_FILE。这将生成一个适当的构建信息文件。

    conan_build_info /tmp/traces.log --output /tmp/build_info.json
    
  6. 新生成的构建信息文件现在可以使用 curl 上传到 Artifactory,如上所述。


您还可以使用 JFrog CLI(文档 here)发布构建