Run one pipeline script on all nodes?

61 views
Skip to first unread message

Sandra Parsick

unread,
Apr 8, 2018, 6:05:34 AM4/8/18
to Jenkins Users
Hello Mailinglist,

is it possible to run a pipeline script on all Jenkins nodes?

Thanks and best regards,

Sandra

Mark Waite

unread,
Apr 8, 2018, 10:07:03 AM4/8/18
to jenkins...@googlegroups.com
On Sun, Apr 8, 2018 at 4:05 AM 'Sandra Parsick' via Jenkins Users <jenkins...@googlegroups.com> wrote:
Hello Mailinglist,

is it possible to run a pipeline script on all Jenkins nodes?


It depends what you mean by "all Jenkins nodes".  Jenkins includes the concept of "permanent agents" which persist between jobs and ephemeral ("on-demand") agents that are created and destroyed as needed (most recently with Docker containers, though full virtual machines are used as well).

I assume you want to run your Pipeline script on all permanent agents.

The Elastic Axis plugin will allow a Freestyle job to run on all agents which match a label expression.  The platformlabeler plugin will automatically apply labels to agents using information about the agent (for example, the operating system installed on the agent).  I run Freestyle jobs on all the Linux and Windows agents in my build cluster with the Elastic Axis plugin and a label expression "linux || windows".

I think the same technique could be used in a Pipeline job, requesting the list of permanent agents, then creating a task for each of the agents in the list.  I haven't done that yet (still using Elastic Axis and platformlabeler), but I think it should be possible.

Mark Waite

 
Thanks and best regards,

Sandra

--
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/39cefda5-feac-4d92-8b52-063958f7aaa5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mark Waite

unread,
Apr 8, 2018, 5:25:11 PM4/8/18
to Jenkins Users


On Sunday, April 8, 2018 at 8:07:03 AM UTC-6, Mark Waite wrote:

On Sun, Apr 8, 2018 at 4:05 AM 'Sandra Parsick' wrote:
Hello Mailinglist,

is it possible to run a pipeline script on all Jenkins nodes?


It depends what you mean by "all Jenkins nodes".  Jenkins includes the concept of "permanent agents" which persist between jobs and ephemeral ("on-demand") agents that are created and destroyed as needed (most recently with Docker containers, though full virtual machines are used as well).

I assume you want to run your Pipeline script on all permanent agents.

The Elastic Axis plugin will allow a Freestyle job to run on all agents which match a label expression.  The platformlabeler plugin will automatically apply labels to agents using information about the agent (for example, the operating system installed on the agent).  I run Freestyle jobs on all the Linux and Windows agents in my build cluster with the Elastic Axis plugin and a label expression "linux || windows".


I just confirmed that the platformlabeler plugin is not currently available from the update center.  Sorry about that.

Daniel Beck believes that absence from the update center may be due to an infrastructure improvement he made.  If you decide to use the platformlabeler plugin and don't find it in the Update Center, an alternate download location is mentioned in Daniel's comments.

Mark Waite

Sandra Parsick

unread,
Jul 11, 2018, 5:47:40 AM7/11/18
to Jenkins Users
thank you

Ron Gebauer

unread,
Jul 11, 2018, 1:45:00 PM7/11/18
to Jenkins Users
Hello Mark,

I found another way.

In Jenkins pipelines you are able to set a parallel action where you can define on which nodes (I think both types) a task can run.

Best regards
Ron Gebauer
Reply all
Reply to author
Forward
0 new messages