如何使用JFrog CLI将构建和工件发布到Artifactory?

时间:2019-08-30 21:46:25

标签: artifactory jfrog-cli

这是我的设置:

JFrog CLI 1.26.2

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

  • 规范(JFrog上传规范)
  • myartifact / 1.0.0 / myartifact-1.0.0-1.txt

我的规格如下:

{
    "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 /

中什么都没有(构建或工件)

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

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

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

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

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