Azure Pipelines Agent is self-hosted agent that you can run in a container with Docker.
Supports
amd64
,arm
andarm64
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-agent
You 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 | Always if image.tag is latest , else IfNotPresent |
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