【问题标题】:How to build a jar file on Azure and copy to Artifactory?如何在 Azure 上构建 jar 文件并复制到 Artifactory?
【发布时间】:2021-10-02 19:49:44
【问题描述】:

我有一个 Azure 管道,它应该使用 maven 构建我的 java 代码。 YAML 看起来像这样:

steps:
- task: Maven@3
  inputs:
    mavenPomFile: '$(system.defaultWorkingDirectory)/<project-name>/pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'
     #allowBrokenSymlinks: 
    
# Copy jar file from a source folder to a target folder
- task: CopyFiles@1
  inputs:
    sourceFolder: '$(system.defaultWorkingDirectory)/<project-name>/target'
    contents: 'filename.jar' 
    targetFolder: '$(Build.ArtifactStagingDirectory)'
    cleanTargetFolder: false # Optional
    overWrite: true # Optional

我原以为 /target 中会有一个 jar 文件,但那里什么也没有。然后,由于没有创建 jar 文件,因此复制到 Artifactory 也不起作用。管道运行没有错误。 Azure 文档一清二楚。

我是 Azure 和 Artifactory 的新手,所以如果你能提供帮助,请保持简单!

【问题讨论】:

  • 建议:启用 Maven (-X) 的详细输出并查看日志

标签: java azure azure-pipelines artifactory


【解决方案1】:

您是否尝试过使用 Wild Card 来获取 jar?

示例: -任务:复制文件@1 输入: sourceFolder: '$(system.defaultWorkingDirectory)//target' 内容:*.jar targetFolder: '$(Build.ArtifactStagingDirectory)' cleanTargetFolder: false # 可选 overWrite: true # 可选

【讨论】:

    【解决方案2】:

    最简单和最推荐的方法是使用Artifactory Azure DevOps extension。 该扩展使用 JFrog CLI 构建您的 Maven JAR 并将其上传到 Artifactory。

    下载并安装扩展后,您可以分两步配置您的管道

    1. 配置Artifactory service connection
    2. 在您的管道中,配置Artifactory Maven 构建。要将 JAR 上传到 Artifactory,请运行 Maven install 目标而不是 package

    欲了解更多信息,请参阅:

    1. Extension documentation
    2. Webinar
    3. 关于JFrog CLI 的一般信息。

    【讨论】:

    • 我一直在配置 Artifactory 服务连接。幸运的是,一位同事已经配置了一个并且具有正确的权限。现在它因“无法下载 node.js。未知主机”而失败。但这是一个不同的问题,所以我会接受你的回答。谢谢!
    猜你喜欢
    • 2011-12-21
    • 2016-05-11
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多