Configure Job Executors
Job executor determines where to execute a build job, and can be defined in administration menu. OneDev currently supports three executor types:
-
Server docker executor
Run build jobs as docker containers on OneDev server
-
Remote docker executor
Run build jobs as docker containers on remote machines via agents
-
Kubernetes executor
Run build jobs as pods in Kubernetes cluster. No agents are required
There is also a default auto-discover executor dispatching build jobs to either Docker or Kubernetes executor based on current environment:
-
If you are running OneDev as a docker container
The auto-discover executor configures a docker executor to run build jobs as docker containers on local host
-
If you are deploying OneDev into a Kubernetes cluster
The auto-discover executor configures a Kubernetes job executor to run build jobs as pods on current Kubernetes cluster
-
If you are running OneDev on a bare metal machine
The auto-discover executor first checks if it can connect to a Kubernetes cluster by running kubectl cluster-info. If yes, a Kubernetes executor will be configured; otherwise a docker executor will be used. Note that to use docker executor in this case, you need to add the user running OneDev process to docker group