Azure DevOps-Maven Pipeline发布工件



我有一个scala项目,它在本地打包(使用maven(非常好,而且azure devops上的构建管道也很好。现在,我想以某种方式在目标文件夹中检索生成的.jar文件。因此,我想发布这些工件。但是.jar文件找不到。我有下面的azure-pipelines.yaml,它将整个文件夹复制/发布到targetFolder,但没有目标文件夹,只复制源代码文件夹。现在我的问题是,如何发布/访问已发布的工件?

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'

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

最新更新