-
I'd suggest to define a new executor to do the job. For your case, it will include all machines (amd64/arm64) without docker mount option. And then configure your non-arch job to use this executor.
-
That's a doable solution for me, thanks!
-
Previous Value Current Value Open
Closed
-
Hi @robin , we have exactly the same situation. If we use a configuration like you suggested (multiple executors can run on the same agent potentially) we get the problem, that we cannot control how many executors are running concurrently on the agent. Maybe we miss something?
-
This is a limitation. Concurrency can only be controlled within scope of an executor.
| Type |
Improvement
|
| Priority |
Normal
|
| Assignee | |
| Labels |
No labels
|
Issue Votes (0)
Hi, I'm running multiple Job Executors on different machines, even different arhcs e.g. arm64 and amd64. There's more - some of those executor are allowed to mount host docker.sock, some of them - are not (for security reasons) I try to keep those name are consistent, so:
So, currently if I need to run my architecture-specific Job i should indicate explicitly executor that would match all specific criterias
For example to build docker image on native amd64 I need to explictly set in my .onedev-buildspec.yml:
But that is not always handy when it comes down for not arch-specific jobs.
Running jobs such as unit-testing for my projects are absolutely universal, but the only criteria is to try avoiding docker.sock'mounted runners (again, for security)
So I'll be happy to write in my .onedev-buildspec.yml something like that:
The exact wildcard syntax doesn't matter, but my humble guess that is using regex-based wildcarding should be most-functionaled & easiest to implement
I'll be glad if someone else would find that feature useful for that or any other case, and finally it would be introduced in some release