如何在 Azure 上构建 jar 文件并复制到 Artifactory?

How to build a jar file on Azure and copy to Artifactory?

我有一个 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 的新手,如果您能提供帮助,请保持简单!

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

下载并安装扩展后,您可以通过 2 步配置您的管道

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

有关详细信息,请参阅:

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

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

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