Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / Azure DevOps Self-Hosted Agent on Ubuntu 24.04 LTS

Azure DevOps Self-Hosted Agent on Ubuntu 24.04 LTS — Support & Quick Start

Azure DevOps Self-Hosted Agent on Ubuntu 24.04 LTS — A pre-configured Azure Pipelines self-hosted agent: register it with your Azure DevOps organization and start running pipelines in minutes. Published by Derek Coleman & Associates Inc on the Azure Marketplace, deployed in your own Azure subscription.

At a glance

Application portsnone inbound (agent connects outbound)
Service(s)vsts.agent.* (installed by `svc.sh install` after registration)
Configuration/home/azagent/azagent/ (config.sh, svc.sh; runs as the `azagent` user)
Logs/home/azagent/azagent/_diag/; journalctl -u 'vsts.agent.*'
VersionAzure Pipelines agent 4.273.0 (Docker pre-installed for container jobs)
PlatformMicrosoft Azure

Quick start

  1. Deploy from the Azure Marketplace (Get It Now → Create), choosing your SSH key at the Administration step.
  2. Allow inbound SSH (22) for yourself only — the agent itself needs no inbound ports.
  3. Register the agent with your organization as the azagent user (see First login below): ./config.sh with your Azure DevOps URL and a PAT, then svc.sh install + start.
  4. Watch your first job land: the agent appears in your agent pool (Organization settings → Agent pools) within a minute of registration.

First login

  1. No web login exists. Register the agent as the azagent user: `sudo su - azagent`, `cd ~/azagent`, `./config.sh` (organization URL https://dev.azure.com/<org>, PAT with Agent Pools manage scope, pool name). `./config.sh --help` lists every option, including the unattended ones.
  2. Non-interactive form: `./config.sh --unattended --url https://dev.azure.com/<org> --auth pat --token <PAT> --pool <pool> --agent $(hostname) --acceptTeeEula --replace`.
  3. Install and start the service: `sudo ./svc.sh install azagent` then `sudo ./svc.sh start`. Upstream is explicit that the agent service must not run as root, which is why it runs as `azagent`.
  4. Zero-touch alternative: deploy the VM with the tags `AzdoUrl`, `AzdoPat` and `AzdoPool` and first boot runs exactly that unattended command for you. ⚠ A PAT stored in a VM tag is readable by anyone with reader access to the resource group — prefer hand registration, or a short-lived PAT you rotate.

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) or send a message via the contact form. Include the offer name, VM size, region, and any log output — sudo journalctl -u <service> -n 100 usually tells the story.