Skip to content

The easiest and most effective method for creating and managing Azure DevOps agents on Kubernetes

License

Notifications You must be signed in to change notification settings

inarix/azure-devops-agent-on-kubernetes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Artifact Hub Release LICENSE

Azure DevOps Agent on Kubernetes

The easiest and most effective method for creating and managing Azure DevOps agents on Kubernetes, without the need to spend time and effort wrestling with settings! Scale-out as much as is necessary and demolish them gracefully.

Important Release Notes

2.0.0

1.0.9

  • Pod Annotations have been implemented
  • Service Account support has been implemented

✅ Thanks for contribitions to Alexandre Saison

✅ PR: btungut#8

1.0.8

Since the 1.0.8 release , the Dockerfile and Helm chart have been configured to utilize a non-root user.

Issue : Non-root user should be implemented

Issue : docker could be called without sudo

Prerequisites

  • Helm
  • Personal Access Token with Agent Pool manage scope

You don't need to follow any more instructions beyond the standard self-hosted agent installation in order to utilize this helm chart.

Generate PAT on Azure DevOps

It is pretty straight-forward process with sufficient scope. Please choose one of the links below to generate a PAT.

⚠️ Only the PAT creation procedures are required

Installing the Chart

  1. First you need to add repository (if you haven't done yet before)
helm repo add btungut https://btungut.github.io
  1. Install the helm chart with required parameters
  • With bash:
helm install {RELEASE-NAME} btungut/azure-devops-agent \
  --set agent.pat={PAT} \
  --set agent.organizationUrl=https://dev.azure.com/{YOUR-ORG} \
  --namespace {YOUR-NS}
  • With powershell:
helm install {RELEASE-NAME} btungut/azure-devops-agent `
  --set agent.pat={PAT} `
  --set agent.organizationUrl=https://dev.azure.com/{YOUR-ORG} `
  --namespace {YOUR-NS}

Uninstalling the Chart

Run the following snippet to uninstall the release:

helm delete {RELEASE-NAME}

Parameters

Agent authentication parameters

⚠️ Helm chart provides two option for authentication. Please use only one of them.

Name Description Value
agent.pat (1st Option) Personal access token for authentication ""
agent.patSecret (2nd Option) Already existing secret name that stores PAT ""
agent.patSecretKey (2nd Option) Key (field) name of the PAT that is stored in secret "pat"

Agent configuration parameters

Name Description Value
agent.organizationUrl Server / organization url, e.g.: https://dev.azure.com/your-organization-name ""
agent.pool Agent pool name which the build agent is placed into "Default"
agent.workingDirectory Working directory of the agent "_work"
agent.extraEnv Additional environment variables as dictionary {}

Other parameters

Name Description Value
image.repository Azure DevOps agent image repository btungut/azure-devops-agent
image.tag Azure DevOps agent image tag (immutable tags are recommended) 3.232.3
image.pullPolicy Azure DevOps agent image pull policy IfNotPresent
image.pullSecrets Azure DevOps agent image pull secrets []
replicaCount Replica count for deployment 1
resources.requests.cpu CPU request value for scheduling "100m"
resources.requests.memory Memory request value for scheduling "128Mi"
resources.limits.cpu CPU limit value for scheduling "500m"
resources.limits.memory Memory limit value for scheduling "512Mi"
volumes Volumes for the container []
volumeMounts Volume mountings []

Please refer the values.yaml for other parameters.

Built-in binaries & packages

The binaries and packages listed below are included in the docker image used by the helm chart:

  • Ubuntu 20.04
  • unzip
  • jq
  • yq
  • git
  • helm
  • kubectl
  • Powershell Core
  • Docker CLI
  • Azure CLI
    • with Azure DevOps extension

Contributors

About

The easiest and most effective method for creating and managing Azure DevOps agents on Kubernetes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dockerfile 42.8%
  • Smarty 29.5%
  • Shell 27.7%