drone / proposal

Drone Project Design Documents
13 stars 4 forks source link

drone-cli QEMU and other local runnable vm or container support #12

Open stevenleeS0ht opened 2 years ago

stevenleeS0ht commented 2 years ago

For some more fundamental software like OS kernel and other cross-platform development task, docker may not be able to fulfill the jobs.

It would be nice to add those support to make local CI more powerful.

bradrydzewski commented 2 years ago

Drone has support for non-docker pipelines. You can find a list of non-docker pipeline runners in our documentation. As an example, you can spawn per-pipeline virtual machines using the aws runner or digital ocean runner. You also have the ability to crate your own custom pipeline runners (such as a qemu runner) if the existing runners do not meet your needs. We even provide a starter project that can be used to create custom pipeline runners.

jones2026 commented 2 years ago

@bradrydzewski is it correct that the drone cli (i.e. drone exec) only supports docker pipelines?

bradrydzewski commented 2 years ago

@jones2026 yes this is correct.

With that being said, each runner has its own command line interface that includes the ability to execute pipelines ad hoc. The challenge is that not every pipeline type can be run locally. For example, the macstadium runner has a drone-runner-macstadium exec command that can launch a pipeline ad-hoc, however, we do not have a great way to execute the macstadium pipeline locally. We have similar challenges with the aws and digitalocean pipelines.