I am trying to set up a Jenkins system where a certain program needs to be run on a board on a network accessed via telnet. We are talking about hundreds of such works here, so we will create several boards. Therefore, each board should be assigned a board, but the catch is that only one task can have a certain board at a time, otherwise the program fails.
The solution that I have right now is to use the master-slave setting, where I connect to the same machine using SSH (so that the master and several slaves on the same computer). Then, each of the subordinate nodes has a label for the IP address to which the program should connect to telnet. This works, planning is reasonable, but it can cause problems, as all nodes connect to SSH on the same computer. Connecting to the board using SSH is not an option.
Is there a way to get the same features as above, but then without using SSH to connect to the same machine? So basically I want to say: we have n machines available when the task arrives to give him one of these machines and give her a label belonging to that machine (her IP address in this case); now there are n-1 cars left. Mutual exception is approaching, but does not allow the use of the above functions, and tasks waiting for the resource occupy one of the node executors.
Thanks a lot!
source share