我正在尝试发布来自Gradle构建的结果jar。我遇到的问题是PublishBuildArtifacts
失败了,原因是:
##[error]Publishing build artifacts failed with an error: Not found PathtoPublish: /home/vsts/work/1/s/build/libs/sleuth-kafka-streams-0.0.1-SNAPSHOT.jar'
下面是整个管道的定义:
- main
pool:
vmImage: ubuntu-latest
jobs:
- job: build
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'
- script: pwd
- script: find ./
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'clean build -x test'
workingDirectory: ''
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
javaHomeOption: 'JDKVersion'
sonarQubeRunAnalysis: false
sqGradlePluginVersionChoice: 'specify'
sonarQubeGradlePluginVersion: '2.6.1'
- script: find ../
- script: find ../../
- script: pwd
- script: echo $(Build.ArtifactStagingDirectory)
- script: echo $(System.DefaultWorkingDirectory)
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(System.DefaultWorkingDirectory)/build/libs/sleuth-kafka-streams-0.0.1-SNAPSHOT.jar'
ArtifactName: 'drop'
publishLocation: 'Container'
正如我在不同find
脚本的输出中看到的那样,jar文件实际上就在那里,例如:
find ../../
========================== Starting Command Output ===========================
/bin/bash --noprofile --norc /home/vsts/work/_temp/3ff8a757-49a9-4769-b65f-72282d823867.sh
...
../../1/s/build/libs/sleuth-kafka-streams-0.0.1-SNAPSHOT.jar
我还尝试使用$(Build.ArtifactStagingDirectory)
作为路径的开始,PathtoPublish: $(Build.ArtifactStagingDirectory)/build/libs/sleuth-kafka-streams-0.0.1-SNAPSHOT.jar'
。
在这种情况下,错误是:
##[warning]Directory '/home/vsts/work/1/a' is empty. Nothing will be added to build artifact 'drop'
你能看到这里出了什么问题吗?
发布于 2021-02-13 13:14:27
出于某种原因,我必须添加一个CopyFiles
任务才能使其工作:
- task: CopyFiles@2
inputs:
contents: '**/*.jar'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'drop'
publishLocation: 'Container'
https://stackoverflow.com/questions/66185340
复制相似问题