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.
