0
votes

I'm building an Azure DevOps pipeline to deploy a custom-build powershell application to several on-prem environments that we support. I configured the required agent pools and installed them as a service on the on-prem environment. Next, I have set up my pipeline in Azure DevOps, selecting a GitRepo:

Build (with the steps: Use Nuget, Nuget Restore, Build solution, Update version, Copy Files, and Publish build Artifact)

Release (with step: Publish Build Artifact)

Some things are unclear for me:

  • Do I need the Publish Build Artifacts twice? Can the Build pipeline end with Copy Files step, and that the Release pipeline picks up this artifact?

  • It is my understanding that the release publishes the app to the
    on-prem environment (in my case). Where can I set a custom path (ie: C:\deployed_apps) where the app needs to be deployed? When I tested this pipeline, I got errors that the path I created using an variable was not found.

What am I missing in my setup to get this pipeline working?

2
i think deployment group is what you need to deploy your application to on-prem machines. Did you tried below answer?Levi Lu-MSFT
sorry for the delay, I think that is indeed the correct answer, however, due to lack of rights for my userrole in ADO, I have not been able te test it. As soon as I'm able to test this, I will approve the answer (or ask follow up question :) )CMorgan
Thanks for the update, hope it works for you. Feel free to let me know if any further issue.Levi Lu-MSFT

2 Answers

2
votes

As @Shayki Abramczyk pointed out this task is not for deployment, it just upload your Build Artifacts to azure devops server where your release pipeline can download directly.

In your case, if you want deploy your application to several on-prem environments, You need to create a deployment group first, A deployment group is a logical set of deployment target machines that have agents installed on each one. You application will be deployed to those machines in a deployment group in release pipeline. Check here for more details about deployment group.

After the deployment group is created, you can add a deployment group job by click the 3 dots, and then specify your deployment group as below pic shows, You can then simply add a copy file task or other deployment tasks to deploy your application to your on-prem machine.

enter image description here

1
votes

In the release pipeline you shouldn't use the Publish Build Artifact. in the end of the build you put this step, what this step does? upload your artifacts to the Azure DevOps or to a file share. now in the release pipeline you choose the build artifact (in the left pane). the first thing that the agent does when the release pipeline started is to download the build artifacts to the agent. now you need to take them and deploy it to your environments. how? it depends which kind of application is (it can be just copy files, it can be deploy to IIS, etc.).

You can put the path in the variables tab and use this variable when you deploy the app (with copy files task, for example).