我有一个 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 的新手,所以如果你能提供帮助,请保持简单!
答案 0 :(得分:1)
最简单也是最推荐的方法是使用 Artifactory Azure DevOps extension。 该扩展程序使用 JFrog CLI 构建您的 Maven JAR 并将其上传到 Artifactory。
下载并安装扩展程序后,您可以分两步配置管道
install
目标而不是 package
。有关更多信息,请参阅:
答案 1 :(得分:0)
您是否尝试过使用通配符来获取罐子?
示例: -任务:CopyFiles@1 输入: sourceFolder: '$(system.defaultWorkingDirectory)//目标' 内容:*.jar targetFolder: '$(Build.ArtifactStagingDirectory)' cleanTargetFolder: false # 可选 overWrite: true # 可选