如何使用 JFrog CLI 将 Build 和 Artifact 发布到 Artifactory?

How do Publish Build and Artifact to Artifactory using JFrog CLI?

这是我的设置:

JFrog CLI 1.26.2

我有一个包含以下项目的本地目录:

我的规格是这样的:

{
    "files": [
        {
            "pattern": "myartifact/*",
            "regexp": "false",
            "target": "testrepo-release/testbuilds/",
            "recursive": "true",
            "flat": "false",
            "explode": "false"
        }
    ]
}

然后我 运行 build-add-dependencies:

shell>jfrog rt build-add-dependencies --spec=spec  myartifact 1 
[Info] Running Build Add Dependencies command...
[Info] Adding dependency: myartifact/1.0.0/myartifact-1.0.0-1.txt
{
  "status": "success",
  "totals": {
    "success": 1,
    "failure": 0
  }
}

最后我运行构建发布:

shell>jfrog rt build-publish --url=https://server.com/artifactory/ --user=user --password=password --build-url=https://fake myartifact 1
[Info] Deploying build info...
[Info] Build info successfully deployed. Browse it in Artifactory under https://server.com/artifactory/webapp/builds/myartifact/1

我不明白为什么目标处没有任何东西(构建或工件)testrepo-release/testbuilds/

感谢您的帮助!

build-add-dependencies 命令收集位于本地文件系统上的文件并将它们作为依赖项添加到构建信息中。它不会将文件上传到 Artifactory。 为了上传文件,您首先需要使用上传命令将文件上传到 Artifactory。您可以使用相同的文件 soec.

上传文件后,您可以使用 build-add-depedencies 命令将文件作为依赖项添加到构建中。

请注意,build-add-depedencies 从本地文件系统而不是 Artifactory 收集文件。 JFrog CLI 的未来版本可能会添加从 Artifactory 收集文件并将它们作为依赖项添加到构建中的功能(添加此答案时 JFrog 的最新版本是 1.27.0)。

其他需要注意的事项: 上传和下载命令都接受两个可选标志:--build-name 和--build-number。这些标志使命令将上传的文件注册为构建工件,并将下载的文件注册为构建依赖项。