0

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

Artifactory 构建浏览器

谢谢 !

4

1 回答 1

0

通常,构建分两步发布:

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

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

在您的具体情况下,您似乎正在使用柯南。你可以看看这个,它记录了如何生成和上传构建信息文件。脚步:

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

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

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

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


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

于 2018-10-01T18:14:58.370 回答