See the parallel step

On Wed, Apr 14, 2021 at 1:00 AM [email protected] <
[email protected]> wrote:

> 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
> <https://groups.google.com/d/msgid/jenkinsci-users/2bb01f47-a79f-4c87-afd3-ff1b5da139d1n%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/CAO49JtGG-1bKtwvKbLy2RassFXUQWJ2Yb45k2iAc7%2BFJ5RB-%2Bw%40mail.gmail.com.

Reply via email to