Azure Pipelines Agent is self-hosted agent that you can run in a container with Docker.
Supports
amd64,armandarm64
This image will automatically pull and install the latest Azure DevOps version at startup.
If you need help or found a bug, please feel free to open an issue on the emberstack/docker-azure-pipelines-agent GitHub project.
The Azure Pipeliens agent can be deployed in Docker using either docker run or docker compose or in Kubernetes using Helm (recommended).
docker run -d -e AZP_AGENT_NAME="<agent name>" -e AZP_URL="https://dev.azure.com/<your org.>" -e AZP_POOL="<agent pool>" -e AZP_TOKEN="<PAT>" emberstack/azure-pipelines-agent
Use Helm to install the latest released chart:
$ helm repo add emberstack https://emberstack.github.io/helm-charts
$ helm repo update
$ helm upgrade --install azure-pipelines-agent emberstack/azure-pipelines-agentYou can customize the values of the helm deployment by using the following Values:
| Parameter | Description | Default | 
|---|---|---|
| nameOverride | Overrides release name | "" | 
| fullnameOverride | Overrides release fullname | "" | 
| image.repository | Container image repository | emberstack/azure-pipelines-agent | 
| image.tag | Container image tag | ""(same version as the chart) | 
| image.pullPolicy | Container image pull policy | Alwaysifimage.tagislatest, elseIfNotPresent | 
| pipelines.url | The Azure base URL for your organization | "" | 
| pipelines.pat.value | Personal Access Token (PAT) used by the agent to connect. | "" | 
| pipelines.pat.secretRef | The reference to the secret storing the Personal Access Token (PAT) used by the agent to connect. | "" | 
| pipelines.pool | Agent pool to which the Agent should register. | "" | 
| pipelines.agent.mountDocker | Enable to mount the host docker.sock | false | 
| pipelines.agent.workDir | The work directory the agent should use | _work | 
| serviceAccount.create | Create ServiceAccount | true | 
| serviceAccount.name | ServiceAccount name | release name | 
| serviceAccount.clusterAdmin | Sets the service account as a cluster admin | release name | 
| resources | Resource limits | {} | 
| nodeSelector | Node labels for pod assignment | {} | 
| tolerations | Toleration labels for pod assignment | [] | 
| affinity | Node affinity for pod assignment | {} | 
| additionalEnv | Additional environment variables for the agent container. | [] | 
| extraVolumes | Additional volumes for the agent pod. | [] | 
| extraVolumeMounts | Additional volume mounts for the agent container. | [] | 
| initContainers | InitContainers for the agent pod. | [] | 
Find us on Artifact Hub