Coder Social home page Coder Social logo

martynaszilinskas / azure-devops-agent-on-kubernetes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from btungut/azure-devops-agent-on-kubernetes

0.0 0.0 0.0 168 KB

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

License: MIT License

Shell 29.85% Smarty 25.86% Dockerfile 44.29%

azure-devops-agent-on-kubernetes's Introduction

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

Non Root User Support

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.220.5
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 18.04
  • unzip
  • jq
  • yq
  • git
  • helm
  • kubectl
  • Powershell Core
  • Docker CLI
  • Azure CLI
    • with Azure DevOps extension

Testing

Docker images which built from the Dockerfile located in this repository can be tested with the Azure DevOps Yaml pipeline that located into ./test/azdo-pipeline.yml

testing pipeline

azure-devops-agent-on-kubernetes's People

Contributors

btungut avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.