Is it recommended to use developer machines as an agent?

We are a company of about 30+ developers all using macOS. We can also provision additional agents on the cloud with Ubuntu OS.

The question is, rather than spending money on those cloud servers, is it recommended to use our developer’s machines as an agent?

In our CI/CD pipeline, the bottleneck of our build is mostly building Docker images (Django / Angular), and I can require all of our developers to have Docker installed.

Any advice would be greatly appreciated. Thanks!

Personally, I would insist that your CI environment is a controlled environment. It is the only way to ensure consistency in your build artifacts.

Customers are free to run the agent in any way that works for them, however we have very few that choose to run agents on developer machines beyond an initial trial or testing period.

Typically the agent is run on servers with consistent tooling and versions. Mostly on cloud hosted virtual machines, but often on-premises servers too.