Search code examples
azureazure-devopsazure-pipelinesazure-devops-self-hosted-agent

Deploy artifacts to physical machine with Azure Pipelines


I have a project that is built with an azure pipeline, the artifacts are sent to both the File Share and Azure DevOps. A self hosted agent is currently used for the pipeline that builds my project. Now I want to deploy my artifacts on a physical computer in the network of my company. Artifacts are installation files that support "silent installation mode", so I can install everything by executing corresponding files with PowerShell.

My question is: What should I do to achieve my goal? I considered that I would simply create a release pipeline (I use Microsoft's classic UI editor for pipelines) and add the necessary tasks. In the end everything will look something like this:

  1. Copy artifacts from the computer on which the product was built (A) to the computer on which the product is to be installed (B).
  2. Perform the installation of services that are required for the main application.
  3. Perform the installation from the main application. Is this the right course of action or should I choose something else?

One more question. It is not entirely clear to me how I should divide the deployment stages, because: Step 1 is still done by the agent on the computer A. Steps 2 and 3 should already do another agent. Hence, an agent must be also present on the computer B (in total I need two agents, one for the build pipeline on the computer A and one on the target computer B). Is that correct?


Solution

  • Deploy artifacts to physical machine with Azure Pipelines

    I think you are very close to the answer, but I am not sure whether the advice I provided is the best, because it is more a matter of taste, you can check my suggestions below.

    We could achieve this by one agent on the computer A:

    In this case, we do not need to create a new agent on the computer B, and also no need to divide the deployment stages.