Azure DevOps - Maven Pipeline 发布 Artifact

标签 azure scala maven azure-devops azure-pipelines

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

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'

最佳答案

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

关于Azure DevOps - Maven Pipeline 发布 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68405820/

相关文章:

bash - 使用 Bash/Curl 从 Azure Blob 存储下载文件

azure - Azure SQL 中使用审核的事件警报

c# - 使用 Azure.Messaging.ServiceBus.Administration 创建 ServiceBus 队列时出错

scala - 为更高种类的存在类型抑制 @unchecked 警告

java - 从命令行运行时 Spring Boot 缺少插件

azure - 无法以编程方式添加/更新 Azure 功能 key

arrays - Scala 分配顺序索引数组

scala - 将 Option[T] 添加到 Option[Seq[T]]

java - 在 pom.xml 中排列配置文件和插件

java - 当 testng 测试失败时 mvn build 失败