使用CURL上传构建

时间:2018-10-01 10:29:15

标签: c++ curl artifactory conan

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

Artifactory Build Browser

谢谢!

1 个答案:

答案 0 :(得分:0)

通常,构建过程分两个步骤发布:

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

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

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

  1. CONAN_TRACE_FILE环境变量设置为文件路径。这样会将您的构建信息记录到一个跟踪文件中,该文件可以转换为构建信息文件。
  2. 在柯南家中,创建文件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. 运行conan_build_info命令并将其路径传递到CONAN_TRACE_FILE。这将生成一个适当的构建信息文件。

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


您还可以使用JFrog CLI(文档here)发布内部版本