See the parallel step

On Wed, Apr 14, 2021 at 1:00 AM pe...@pjksolutions.com <
p...@pjksolutions.com> 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 pe...@pjksolutions.com <
>> pe...@pjksolutions.com> 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 pe...@pjksolutions.com 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 pe...@pjksolutions.com <
>>>>> pe...@pjksolutions.com> 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 pe...@pjksolutions.com <
>>>>>>> pe...@pjksolutions.com> 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 jenkinsci-use...@googlegroups.com.
>>>>>>>> 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 jenkinsci-use...@googlegroups.com.
>>>>>>
>>>>> 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 jenkinsci-use...@googlegroups.com.
>>>
>> 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 jenkinsci-users+unsubscr...@googlegroups.com.
> 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 jenkinsci-users+unsubscr...@googlegroups.com.
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