Sto provando a configurare un sistema Jenkins in cui un determinato programma deve essere eseguito su una scheda sulla rete, accessibile tramite telnet. Stiamo parlando di centinaia di tali lavori qui, quindi installeremo più schede. Pertanto, a ogni lavoro deve essere assegnata una scheda, ma il problema è che solo un lavoro può avere una determinata scheda allo stesso tempo, altrimenti il programma fallisce.Jenkins - Gestione di un pool di risorse
La soluzione che ho adesso sta usando un setup master-slave dove mi collego alla stessa macchina usando SSH (quindi un master e più slave sulla stessa macchina). Ciascuno dei nodi slave ha quindi un'etichetta per l'indirizzo IP a cui il programma deve telnetare. Funziona, in base alla pianificazione, ma potrebbe causare problemi poiché tutti i nodi si connettono utilizzando SSH alla stessa macchina. La connessione alle schede tramite SSH non è un'opzione.
C'è un modo per ottenere la stessa funzionalità di cui sopra, ma poi senza utilizzare SSH per connettersi alla stessa macchina? Quindi in pratica voglio essere in grado di dire: abbiamo n macchine disponibili, quando arriva un lavoro dargli una di quelle macchine e passargli un'etichetta che appartiene a quella macchina (il suo indirizzo IP in questo caso); ora ci sono le macchine n-1 rimaste. L'esclusione reciproca si avvicina, ma non consente la funzionalità di cui sopra, ei lavori in attesa di una risorsa occupano uno degli esecutori di un nodo.
Grazie mille!
Simile a questo: http://stackoverflow.com/questions/10950439/resource-mange-external-nodes-in-jenkins-for-tests –