Vraag Laat Jenkins een specifiek project uitvoeren op een bepaald slaafknooppunt


Hoe vertel ik Jenkins om een ​​specifiek project op een bepaalde slaaf uit te voeren?

Ik heb een Jenkins-hoofdknooppunt en een slaafknooppunt ingesteld dat ik wil gebruiken voor het organiseren van een toepassing. Maar ik kan niet achterhalen hoe het project moet worden geconfigureerd om te worden uitgevoerd op het slave-knooppunt dat ik heb gemaakt.


71
2018-02-13 22:43


oorsprong


stackoverflow.com/questions/9214501/... - kaji


antwoorden:


Stel het selectievakje "Beperken waar deze taak kan worden uitgevoerd" in uw taakconfiguratie in en geef de naam van uw slaaf op.

Als u later meer slaves toevoegt, kunt u labels voor elke slave instellen en die in uw taakconfigs opgeven.

Zie deze naslagdocumentatie:


72
2018-02-20 06:59



Bedankt. Ik heb nogal wat tijd gebruikt voordat je je antwoord vond. Het zou aan deze pagina moeten hebben toegevoegd wiki.jenkins-ci.org/display/JENKINS/Distributed+builds - Surasin Tancharoen


Als u een Pipeline-taak uitvoert, wilt u eerst een label (bijvoorbeeld 'slave') toevoegen aan de slave-node (of agent zoals deze nu lijkt te zijn).

Vervolgens geeft u in het pijplijn-script het label op waarop de taak wordt uitgevoerd:

Declaratieve pijplijn:

pipeline {
    agent {label 'slave'}
    stages {
        ...
    }
}

Gescripteerde pijplijn:

node (label: 'slave') {
    ...
}

Deze taak wordt nu uitgevoerd op elk knooppunt met het label 'slave'. Als u alleen wilt dat de taak op deze specifieke slave wordt uitgevoerd, mag u het label niet opnieuw gebruiken. En natuurlijk hoeft het label niet 'slaaf' te zijn; het kan zijn wat je maar wilt.

Bijwerken:

In de pijplijn met scripts, als uw knooppunt "Mijn knoop" heet, kunt u dit ook doen:

node ('My Node') {
    ...
}

Als u alleen wilt dat het codeblok op dat specifieke knooppunt wordt uitgevoerd, is dit nuttig. Het gebruik van labels is echter flexibeler en kan het gemakkelijker maken om knooppunten toe te voegen om de werkbelasting te delen.


8
2017-12-29 03:59



Dit was zo moeilijk te vinden, de documentatie voor gescripteerde syntaxis sterft ten gunste van declarative, ik kan niet migreren, dus bedankt! - Mitchell Currie


Als u Node / Label als parameter wilt gebruiken, installeer dan NodeLabel-parameterplugin


5
2017-10-04 14:32