Azure Pipelines for Gradle project fails with Publishing build artifacts failed with an error: Not found PathtoPublish
Azure Pipelines for Gradle project fails with Publishing build artifacts failed with an error: Not found PathtoPublish
我正在尝试从 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'
jar 文件实际上存在,正如我在不同 find
脚本的输出中看到的那样,例如:
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'
你能看出这里出了什么问题吗?
出于某种原因,我不得不添加一个 CopyFiles
任务以使其工作:
- task: CopyFiles@2
inputs:
contents: '**/*.jar'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'drop'
publishLocation: 'Container'
我正在尝试从 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'
jar 文件实际上存在,正如我在不同 find
脚本的输出中看到的那样,例如:
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'
你能看出这里出了什么问题吗?
出于某种原因,我不得不添加一个 CopyFiles
任务以使其工作:
- task: CopyFiles@2
inputs:
contents: '**/*.jar'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'drop'
publishLocation: 'Container'