I am making my first build in VSTS and I have had to ask a number of questions on SO. I have now been able to restore nuget packages and build my project but now I have to ensure the artifacts are copied to the right place. My last build attempt failed for this reason: Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'. My build is defined as;
The Copy Files
The .Net Core build;
And the publish;
And from the build I get this error;
Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
How do I fix this?
You need to copy and add artifact, so for me I had to add this code to the end of my .yaml file
- task: CopyFiles@2
inputs:
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
First, remove ";" before Properties.EF6 (/t:;Properties.EF6;Sir.Domain).
Note: If Sir.WebUI dependency on Properties.EF6, Sir.Domain, Sir.EF6 and StandardClassLibrary, you just need to build Sir.WebUI project.
Secondly, for .Net Core task, change build command to publish and arguments is -o $(build.artifactstagingdirectory)\SIR.
Thirdly, remove Copy Files task (do not need to copy files to artifact).
The default build arguments don't work if you plan to use the release pipeline in azure devops.
Using the following to the MS BuildArguments
in the Build step drops a package in the staging directory: $(build.artifactstagingdirectory)
.
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
In the Publish Artifact step use the same location as the value:
$(build.artifactstagingdirectory)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With