【问题标题】:jfrog artifactory CLI deploy a jar in maven artifactory repo with inferred setting from jarjfrog artifactory CLI 在 maven artifactory repo 中部署一个 jar,并从 jar 中推断设置
【发布时间】:2017-08-03 00:55:54
【问题描述】:

我正在使用 Visual Studio Artifactory 部署程序将 maven 构建的 jar 文件部署到 Artifactory maven repo。如果我使用 maven artifactory 插件,jar 文件将被部署到正确的文件夹结构中,并且 maven 设置保持与 jar 一致,但如果我从 CLI 推送 jar 文件,它只会作为 jar 文件部署到我指定的文件夹中。例如

  • 使用 CLI 将 artifact.jar 推送到目标 libs-snapshot/com/foo/bar 获取文件上传到 libs-snapshot/com/foo/bar 和 artifactory 没有关于 jar 版本、组 id、工件 id 的信息。我不能 在 CLI 上找到任何选项来指定这些选项。

  • 使用 Maven Artifactory 插件时,推送的 jar 最终会出现在
    libs-snapshot/com/foo/bar/artifact/version 文件夹和 maven
    属性保持不变

如何从 CLI 实现与 maven artifactory 插件相同的行为。

【问题讨论】:

  • @Andy-MSFT 我看到您删除了 TFS 标签,但问题与 TFS 构建有关。我正在使用 TFS 构建中的 Atifactorydeployer 步骤,它使用 Jfrong CLI 将文件推送到 Artifactory。我希望通过将 Maven 布局提取到工件中来部署它的 Maven 输出。

标签: tfs artifactory jfrog-cli


【解决方案1】:

只是为了确保您如何使用 CLI 进行部署?为了使用 CLI 将其部署到 Artifactory,您必须指定正确的 Maven 坐标。例如:

jfrog rt u mySnapshot-1.0.0-SNAPSHOT.jar “libs-snapshot-local/path/to/folder/mySnapshot/1.0.0-SNAPSHOT/”

这会将您的快照文件部署到 Artifactory 和 Artifactory,根据您的存储库配置将“SNAPSHOT”替换为时间戳。

如果您的意思是要将 5 个不同的文件部署到 5 个不同的路径,并且希望 JFrog CLI 提取 maven 布局并通过它进行部署,那么使用 CLI 是不可能的。

【讨论】:

  • 我指的是您答案的第二部分,并希望 CLI 支持这一点。我正在使用 Team Foundation Server 的 ArtifactoryDe​​ployer 步骤,该步骤本质上是使用 Jfrong CLI 将文件推送到 Artifactory。我希望有某种方法可以提取 Maven 布局并通过它进行部署。
  • @gamepop 正如上面提到的 Ariel,使用 CLI 是不可能的,ArtifactoryDe​​ployer 步骤本质上是使用 Jfrong CLI,因此,在 TFS 中也很难实现。
  • 感谢您确认@Andy-MSFT,除了使用 ArtifactoryDe​​ployer 之外,还有其他方法可以从 TFS 进行部署,以某种方式获取 maven build 的输出,以便为 jfrog CLI 提供选项。目前我正在使用 Maven Artifactory 插件进行部署,但希望将其与 maven 构建分离,因为它会夺走控制权并花费更多时间,更不用说我们需要在我们拥有的每个 pom 文件中嵌入工件插件。
猜你喜欢
  • 2020-08-19
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 2017-08-04
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
相关资源
最近更新 更多