Azure DevOps - Maven 管道发布工件

Azure DevOps - Maven Pipeline publish artifacts

我有一个 scala 项目,它在本地打包(使用 maven)非常好,而且 azure devops 上的构建管道工作正常。现在我想以某种方式检索目标文件夹中生成的 .jar 文件。因此,我想发布这些工件。但是无法找到 .jar 文件。 我有下面的azure-pipelines.yaml,其中copies/publishes整个文件夹到targetFolder,但是没有target文件夹,只复制了source code文件夹。现在我的问题是,如何 publish/access 发布工件?

trigger:
- azure_devops_pipeline
pool:
  vmImage: ubuntu-latest
stages:
- stage: Package
  jobs:
  - job: Package
    steps:
    - task: Maven@3
      inputs:
        mavenPomFile: 'pom.xml'
        mavenOptions: '-Xmx3072m'
        javaHomeOption: 'JDKVersion'
        jdkVersionOption: '1.8'
        jdkArchitectureOption: 'x64'
        publishJUnitResults: false
        mavenAuthenticateFeed: true
        effectivePomSkip: true
        goals: 'package'
        options: '-Dmaven.test.skip=true -Pscala-2.12 -Pfat-jar'
        #sonarQubeRunAnalysis: false
- stage: PublishArtifacts
  jobs:
  - job: PublishArtifacts
    steps:
    - task: CopyFiles@2
      inputs:
        #SourceFolder: '/home/vsts/work/1/s/target/'
        Contents: '**'
        TargetFolder: '$(build.artifactstagingdirectory)'
        CleanTargetFolder: true
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'

每个作业都是一台单独的机器。因此,如果您在一个作业上编译和生成文件,则它们在下一个作业中不可用,除非您将这些文件发布为工件并将它们下载到另一个工件上。所以如果你想让这个工作,请将它们(从 PublishArtifacts 工作的步骤)移动到你的第一份工作。