我一直在尝试找到一种使用 CURL 将构建上传到工件的方法。我知道我们可以轻松地发送包,但我找不到关于发送将在此处登陆的构建的信息:
谢谢 !
通常,构建分两步发布:
build.name
设置为构建名称,并build.number
设置为构建号。如果这些属性设置不正确,Artifactory 将不会知道它们属于您的构建。构建信息文件已上传。这不是一个工件,它使用一个特殊的 REST API(这个)。构建信息文件本身是一个描述构建的 JSON 文件,包含构建名称和编号、属于该构建的所有文件的校验和以及许多其他(大部分是可选的)信息。这通常是由构建工具生成的,但是上面的 REST API 链接有一个示例文件,如果您真的需要,可以将其用作从头开始制作的参考。上传构建信息文件的示例:
curl -XPUT http://localhost:8081/artifactory/api/build -H "Content-Type: application/json" -T build.json
在您的具体情况下,您似乎正在使用柯南。你可以看看这个,它记录了如何生成和上传构建信息文件。脚步:
CONAN_TRACE_FILE
环境变量设置为文件路径。这会将您的构建信息记录到可以转换为构建信息文件的跟踪文件中。在您的柯南家中,创建一个文件artifacts.properties
. 该文件告诉柯南在部署工件时添加特定属性(包括部署构建所需的build.name
和)。build.number
一个示例artifacts.properties
文件:
artifact_property_build.name=MyBuild
artifact_property_build.number=23
artifact_property_build.timestamp=1487676992
运行所有构建步骤,包括部署工件。每一步都会记录到你设置的文件CONAN_TRACE_FILE
。
运行conan_build_info
命令并将路径传递给CONAN_TRACE_FILE
. 这将生成一个适当的构建信息文件。
conan_build_info /tmp/traces.log --output /tmp/build_info.json
如上所述,现在可以使用 curl 将新生成的构建信息文件上传到 Artifactory。
您还可以使用 JFrog CLI 发布构建(此处的文档)