HI Mark your code now runs as expected, now that I have a collection of 
nodes how can I use them to build a specific job ?

On Monday, 12 April 2021 at 17:54:54 UTC+1 Mark Waite wrote:

> 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/2bb01f47-a79f-4c87-afd3-ff1b5da139d1n%40googlegroups.com.

Reply via email to