1
votes

Has anyone used Azure DevOps to deploy an Umbraco v8 application to Azure? I can successfully deploy via Visual Studio, but Azure DevOps only seems to copy over all the dlls to the target, no views or anything, and a zip does not get generated.

If anyone has managed this could they share the steps they took please? The steps I have in the pipeline are:

  • Build
  • Test
  • Deploy
  • Publish Symbols
  • Copy File to
  • Publish Artifact

What I did notice is that I need a publish profile to successfully publish from Visual Studio, however I cant see where a profile should be included in Devops, unless it should be in the build arguments?

My current build arguments:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\" 

I'm using the Visual Studio Build task.

2
Your publish profile can be included in the MSBuild arguments /p:PublishProfile=<profile-name>Josh Gust

2 Answers

4
votes

To straight up answer your question, yes MSBuild arguments make or break the deployment here.You can see mine in my screenshot. I took it from a production deployment that's successful for Umbraco.

So I can't see your actual pipeline, but from what I see you don't actually 'build' the application.

As in you have to use Nuget first, then restore the packages, then build the application. You don't need to copy anything (so you don't need a copy step), with the correct MS Build arguments it will build and copy to build.artifactstagingdirectory on its own. Then you need to have the appropriate release pipeline, but one thing at a time. The build steps I use are underneath. After the npm custom step is the actual building of the application.

enter image description here

P.S. Make sure that the appropriate files to run the application are included in the csproj, because that's where azure devops reads what to pick and build.

1
votes

I'll assume that you're simply copying files onto a VM and that you have dealt with the deployment of your database / content.

If you want to copy all the files from your Visual Studio project you need to ensure that your MSBuild will copy them into the build/artifact directory.

In order to copy the files that you're missing you need to ensure that you have set the “Build Action” to “Copy to output directory” for example your views or pretty much anything that you'd code in App_Data. This is how you'd set the build action in VS: https://docs.microsoft.com/en-us/visualstudio/ide/build-actions?view=vs-2019