This week we have found that the Configuration screen for Matrix jobs no longer enumerates Labels and Nodes in Configure > Configuration Matrix > Agents:
A follow-up question on this. On the Jenkins controller where I see the problem, if I create a new Multi-configuration project, I am offered 3 options when adding an axis:
But on another, newer Jenkins controller, I see only one option:
It’s a long time since I set-up the matrix jobs. Would the ‘Agents’, ‘Label expression’ options be something I would have set-up or are they automatically offered by the plugin?
If the latter, why are they not offered on the newer controller?
I suspect that you are missing one or more plugins (possibly node label parameter plugin?) on the new controller that are installed on the old controller. When I create a matrix project with Jenkins 2.402, it shows the three items in the dropdown that you see on your other controller.
I am unable to duplicate the problem that you’re seeing on my fresh install of Jenkins 2.402. When I open the configuration matrix I see the expected dropdown for nodes and labels with both Firefox 112 and most recent Google Chrome.
Are you running Firefox ESR or some other browser?
Regarding the second controller, which doesn’t offer labels or nodes, I think I have missed the obvious - this controller doesn’t have any agents, so I guess it is reasonable that none are offered.
Regarding the ‘production’ controllers that my first question was about: I am using Edge and Chrome, both browers do not show the Label and Node trees.
It seems, from your latest reply, that the Jenkins version is not the reason. But, anyway, I am using the LTS, which is much earlier.
I have another unresolved thread that questions why the snippet generator is not working for me for some plugins.
In a strange twist, I can now duplicate something very similar to the problem that you are seeing. I’m using Jenkins 2.401.1 with recent releases of all installed plugins as listed in my plugins.txt file. When I click the “Agents” in the “Axis” drop down, there is no response. In the JavaScript console of the Chrome browser I see the following error:
I have no explanation (yet) that would justify why I could not duplicate the problem before and now I can duplicate it. If I find the key difference between my previously passing case and the current failing case, I will let you know. I’ll likely create an issue once I understand the root cause of the problem that I’m seeing.
No, I haven’t investigated any further. I have suspicions that there is a difference in the file system that is some remnant of the install and upgrade process on that machine.
@MarkEWaite Hi Mark, could you please have another look at this? We use matrix jobs a lot and they are basically broken as the UI isn’t working.
Alternatively, should we be looking at implementing matrix jobs in pipeline? Is that straightforward? One of our engineers has tried it and he says it’s a bit of a nightmare. And, of course, it’s not as user-friendly as the UI.
I very much prefer Pipeline as a replacement for matrix projects. Pipelines allow those who submit changes to the source code to also change the job definition.
Pipeline jobs define the agent where they should run by defining the label that is required for one or more Pipeline steps.
Labels are assigned to agents from the Jenkins agent administration page or by the cloud plugin that manages the creation and deletion of the agent or by plugins like the platform labeler plugin or the implied labels plugin.
You might consider the following video as an introduction:
Our requirement is different. Instead of running all combinations, we want each value of one axis to run on just one of the agents defined by the label axis. It’s like a simple scheduler. We have a pool of agents and run each ‘value’ once on one machine from that pool. This was possible in the freestyle matrix job. Is it possible with pipeline?