The Jenkins Pipeline DSL is extensible. It is extended by Jenkins plugins that you may choose to install. The nodesByLabel step <https://www.jenkins.io/doc/pipeline/steps/pipeline-utility-steps/#nodesbylabel-list-of-nodes-by-label-by-default-excludes-offline-nodes> is provided by the Pipeline utility steps <https://plugins.jenkins.io/pipeline-utility-steps/> plugin. You'll need to install the Pipeline utility steps <https://plugins.jenkins.io/pipeline-utility-steps/> plugin in order to use that step.
On Mon, Apr 12, 2021 at 9:41 AM [email protected] < [email protected]> wrote: > The complete error dump > java.lang.NoSuchMethodError: No such DSL method 'nodesByLabel' > found among steps [archive, bat, build, catchError, checkout, deleteDir, > dir, echo, emailext, emailextrecipients, > envVarsForTool, error, fileExists, findBuildScans, getContext, git, > input, isUnix, junit, library, libraryResource, > load, lock, mail, milestone, node, parallel, powershell, properties, > publishChecks, pwd, pwsh, readFile, readTrusted, > resolveScm, retry, script, sh, sleep, stage, stash, step, timeout, > timestamps, tm, tool, unarchive, unstable, unstash, > validateDeclarativePipeline, waitUntil, warnError, withChecks, > withContext, withCredentials, withEnv, withGradle, wrap, > writeFile, ws] or symbols [all, allBranchesSame, allOf, always, ant, > antFromApache, antOutcome, antTarget, any, anyOf, > apiToken, architecture, archiveArtifacts, artifactManager, > authorizationMatrix, batchFile, booleanParam, branch, brokenBuildSuspects, > brokenTestsSuspects, buildButton, buildDiscarder, buildDiscarders, > buildRetention, buildUser, buildingTag, caseInsensitive, > caseSensitive, certificate, changeRequest, changelog, changeset, > checkoutToSubdirectory, choice, choiceParam, cleanWs, clock, > command, credentials, cron, crumb, culprits, defaultFolderConfiguration, > defaultView, demand, developers, disableConcurrentBuilds, > disableResume, downstream, dumb, durabilityHint, email-ext, envVars, > envVarsFilter, environment, equals, expression, extendedEmailPublisher, > file, fileParam, filePath, fingerprint, fingerprints, frameOptions, > freeStyle, freeStyleJob, fromScm, fromSource, git, gitBranchDiscovery, > gitHubBranchDiscovery, gitHubBranchHeadAuthority, > gitHubExcludeArchivedRepositories, gitHubExcludePublicRepositories, > gitHubForkDiscovery, > gitHubPullRequestDiscovery, gitHubSshCheckout, gitHubTagDiscovery, > gitHubTopicsFilter, gitHubTrustContributors, gitHubTrustEveryone, > gitHubTrustNobody, > gitHubTrustPermissions, gitTagDiscovery, github, githubPush, gradle, > headRegexFilter, headWildcardFilter, hyperlink, hyperlinkToModels, > inheriting, > inheritingGlobal, installSource, isRestartedRun, jdk, jdkInstaller, jgit, > jgitapache, jnlp, jobBuildDiscarder, jobName, junitTestResultStorage, > label, lastDuration, lastFailure, lastGrantedAuthorities, lastStable, > lastSuccess, legacy, legacySCM, list, local, location, logRotator, > loggedInUsersCanDoAnything, mailer, masterBuild, maven, maven3Mojos, > mavenErrors, mavenGlobalConfig, mavenMojos, mavenWarnings, modernSCM, > myView, namedBranchesDifferent, node, nodeProperties, nonInheriting, > none, not, overrideIndexTriggers, paneStatus, parallelsAlwaysFailFast, > parameters, password, pattern, permanent, pipelineTriggers, plainText, > plugin, pollSCM, preserveStashes, projectNamingStrategy, proxy, pruneTags, > queueItemAuthenticator, quietPeriod, rateLimit, rateLimitBuilds, > recipients, requestor, resourceRoot, retainOnlyVariables, run, runParam, > sSHLauncher, schedule, scmRetryCount, scriptApproval, scriptApprovalLink, > search, security, shell, simpleBuildDiscarder, skipDefaultCheckout, > skipStagesAfterUnstable, slave, sourceRegexFilter, sourceWildcardFilter, > ssh, sshPublicKey, sshUserPrivateKey, standard, status, string, stringParam, > suppressAutomaticTriggering, swapSpace, tag, teamSlugFilter, text, > textParam, timestamper, timestamperConfig, timezone, tmpSpace, toolLocation, > triggeredBy, unsecured, untrusted, upstream, upstreamDevelopers, > userSeed, usernameColonPassword, usernamePassword, viewsTabBar, weather, > withAnt, > zip] or globals [currentBuild, env, params, pipeline, scm] > > On Monday, 12 April 2021 at 16:36:38 UTC+1 [email protected] wrote: > >> Hi Mark I tried to run it and got java.lang.NoSuchMethodError: No such >> DSL method 'nodesByLabel' and a lot more errors >> >> On Saturday, 10 April 2021 at 21:58:43 UTC+1 Mark Waite wrote: >> >>> The sample that I provided would be placed in a file named 'Jenkinsfile' >>> at the root of a git repository, then a Pipeline job should be defined in >>> Jenkins for that git repository. >>> >>> On Sat, Apr 10, 2021 at 2:33 PM [email protected] < >>> [email protected]> wrote: >>> >>>> Thanks Mark, where do I run that code ? >>>> >>>> On Tuesday, 6 April 2021 at 21:47:19 UTC+1 Mark Waite wrote: >>>> >>>>> Yes. The Jenkins Pipeline can request to build on all available >>>>> agents or on all agents that match a specific label. See nodesByLabel. >>>>> >>>>> Here's an example: >>>>> >>>>> def nodes = nodesByLabel label: '!windows' >>>>> nodes = nodes.sort() >>>>> >>>>> Map tasks = [:] >>>>> >>>>> for (int i = 0; i < nodes.size(); i++) { >>>>> def label = nodes[i] >>>>> def stageName = 'Check git cache ' + >>>>> label.replaceAll('(-jagent)|(-ssh)|(-mwaite)|(.markwaite.net)|(-beemarkwaite)|(-jenkins)', >>>>> '') >>>>> tasks[label] = { >>>>> node(label) { >>>>> stage(stageName) { >>>>> if (isUnix()) { >>>>> sh '[ -d /var/lib/git/mwaite ] || (echo >>>>> /var/lib/git/mwaite directory not found; exit 1)' >>>>> } else { >>>>> bat 'echo git cache check not implemented for >>>>> Windows' >>>>> } >>>>> } >>>>> } >>>>> } >>>>> } >>>>> >>>>> timeout(time: 3, unit: 'MINUTES') { >>>>> parallel(tasks) >>>>> } >>>>> >>>>> Jenkins multi-configuration jobs can also build on all agents that >>>>> match a particular label, using either the elastic axis plugin or the node >>>>> label parameters plugin. >>>>> >>>>> Mark Waite >>>>> >>>>> On Tue, Apr 6, 2021 at 2:36 PM [email protected] < >>>>> [email protected]> wrote: >>>>> >>>>>> >>>>>> Hi all, I have one master Jenkins CI server and four slaves is is >>>>>> possible to build a project on all agents simultaneously ? >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Jenkins Users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/jenkinsci-users/e974d160-b2b1-41ca-b23a-5f5ef296831en%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/e974d160-b2b1-41ca-b23a-5f5ef296831en%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Jenkins Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/jenkinsci-users/c8f9794a-9ece-4ff2-87db-ebe3b5afb23dn%40googlegroups.com >>>> <https://groups.google.com/d/msgid/jenkinsci-users/c8f9794a-9ece-4ff2-87db-ebe3b5afb23dn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "Jenkins Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/30d1b1c2-14d2-4e76-baac-2ff3261eb9c1n%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-users/30d1b1c2-14d2-4e76-baac-2ff3261eb9c1n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtH4vFmTVMvUJy73tRQcbatPGnWVWRJczaMwV_Vr%3DLdFDA%40mail.gmail.com.
