#232  Remote docker executor
Released
Sebastien Collier opened 3 years ago

I'd like to be able to use a different machine to the one hosting OneDev to run some CI jobs.

If we can pass an environment variable to the docker executable then we could set this with DOCKER_HOST

Robin Shen commented 3 years ago

Would like to know the main reason you want to run on a different machine. Is it for reducing server load, or want to run build on Windows/Linux combo? For both situations, run build in a k8s cluster will be helpful and much flexible and scalable.

Sebastien Collier commented 3 years ago

We are building on different architectures and sometimes spinning up cloud servers temporarily to help with certain builds. It's more convenient to just be able to spin up a machine with docker and go rather than go through the overhead of setting up a k8s cluster. I'm also not really sure how that would work with different architectures.

Robin Shen commented 3 years ago

Spinning up a k8s cluster on GCP/Azure/AWS is really easy. After that, you may deploy OneDev server into k8s cluster directly, and it then can utilize k8s nodes automatically to run your builds on Windows/Linux. And it can scale up/down based on current load. That will be much easy to manage for the long run.

Sebastien Collier commented 3 years ago

Sure, but we're using hardware that we have on premise, and it would be much more convenient if we could simply define a runner for an x86_64 machine and another runner for aarch64 and just select the appropriate one per build job. Spinning up/managing a cluster on prem will take significantly more time than just defining a runner per machine we want to use.

How does selecting of host architecture work with kubernetes?

Robin Shen commented 3 years ago

I am not sure if it supports aarch64. Will add concept of runner in future versions of OneDev.

Andreas Wachter commented 3 years ago

that feature would be perfect. Then I could move away from my gitea/drone environment.

Robin Shen changed milestones 3 years ago
Previous Value Current Value
empty
5.0.0
bufferUnderrun commented 3 years ago

Hi, i will follow this issue as it covers my needs : onedev is running on a windows bare metal machine. Docker is installed too so we can't run our CI/CD for Windows project. But for our others linux project, we have a separed linux distrib with docker. How to tell onedev to run docker on thé Linux Host ???

Thanks

Robin Shen commented 3 years ago

This is my next todo.

Robin Shen batch edited 3 years ago
Name Previous Value Current Value
Milestones
empty
5.0.0
Artur commented 3 years ago

I second that. Support for this would allow to setup a build runner on mac to build MacOS and iOS projects.

OneDev changed state to 'Closed' 3 years ago
Previous Value Current Value
Open
Closed
OneDev changed state to 'Released' 3 years ago
Previous Value Current Value
Closed
Released
Artur commented 3 years ago

Is there any additional information or documentation on this?

Robin Shen commented 3 years ago

I am writing a tutorial on this. Should be available soon.

Robin Shen commented 3 years ago

Please check below tutorial on how to run job on remote machine with agents:

https://robinshen.medium.com/effortless-onedev-ci-cd-farm-with-agents-3f51ca5a659f

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Milestones
Issue Votes (2)
Watchers (5)
Reference
onedev/server#232
Please wait...
Page is in error, reload to recover