Search code examples
azureazure-devopscicd

How can I know if the pipeline is using a Microsoft-hosted agent or self-hosted agent


While running an azure build pipeline (yml version) is there any programmatic way (inside the pipeline itself) to know if the current pipeline is running on the ms-hosted agent or self-hosted agent?

We have one pre-defined variable called 'Agent.Name' which gives the agent name.

But it keeps changing the agent name (Hosted, Azure) Agent.Name=Hosted, Agent.Name=Azure

Is there any way to determine the type of agent at the pipeline run time.

      - task: Bash@3
        displayName: Show Agent Name
        inputs:
          targetType: 'inline'
          script: |
            echo $(Agent.Name)

Solution

  • As we are using both the ms-hosted & self-hosted so as a solution I started verifying the names of my self-hosted agents (these names are already known to us) & based on this I am able to pick the MS-hosted agents