This repository contains container image Dockerfiles and scripts used to build Azure DevOps Agent container images for the PERS infrastructure deployment pipelines.
docker-devops-image/
├── azure-devops-agent-aci/ # Azure Container Instance agents
│ ├── Dockerfile
│ └── start.sh
├── azure-devops-agent-aca/ # Azure Container Apps agents
│ ├── Dockerfile
│ └── start.sh
├── README.md
└── .dockerignore
Linux-based Azure DevOps agent image designed for Azure Container Instances. Includes comprehensive tooling based on the Ubuntu 24.04 GitHub Actions runner specification.
Location: azure-devops-agent-aci/
Environment Variables:
AZP_URL: The URL of the Azure DevOps organizationAZP_TOKEN: PAT token for authenticationAZP_POOL: Agent pool name (default: "Default")AZP_AGENT_NAME: Agent nameAZP_WORK: Working directory (default: "_work")
Build:
cd azure-devops-agent-aci
docker build -t YOUR_IMAGE_NAME:YOUR_IMAGE_TAG .Push:
docker push YOUR_IMAGE_NAME:YOUR_IMAGE_TAGLinux-based Azure DevOps agent image optimized for Azure Container Apps with dynamic scaling capabilities.
Location: azure-devops-agent-aca/
Build:
cd azure-devops-agent-aca
docker build -t YOUR_IMAGE_NAME:YOUR_IMAGE_TAG .All images are based on Ubuntu 24.04 LTS and include the comprehensive toolset from the GitHub Actions runner-images specification:
- Node.js: v16, v18, v20, v22 (via nvm)
- Python: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 (via deadsnakes PPA)
- Go: Latest stable version
- Java: JDK 8, 11, 17, 21
- .NET SDK: 6.0, 7.0, 8.0, 9.0
- Ruby: Latest stable version
- PHP: Latest stable version
- Docker CE (with Docker-in-Docker support)
- kubectl (Kubernetes CLI)
- Helm
- kind (Kubernetes in Docker)
- Azure Container Registry (ACR) CLI tools
- Terraform
- Pulumi
- Ansible
- Azure Bicep
- Azure CLI (az)
- AWS CLI (aws)
- Google Cloud SDK (gcloud)
- GNU Make
- CMake
- Gradle
- Maven
- MSBuild
- Git
- Git LFS
- GitHub CLI (gh)
- Azure DevOps CLI
- jq, yq (YAML processor)
- curl, wget
- zip, unzip, tar
- vim, nano
- OpenSSL
- SSH client
- And 100+ more tools
These images are designed to be built and stored in Azure Container Registry (ACR) using ACR Tasks:
az acr build \
--registry <your-registry> \
--image azure-devops-agent-aci:latest \
--file azure-devops-agent-aci/Dockerfile \
.The Pulumi infrastructure code that deploys container instances using these images is located in the pulumi-runners repository.
Repository structure and patterns inspired by Azure Verified Modules - CI/CD Agents and Runners.
This project is licensed under the MIT License - see the LICENSE file for details.