-
Notifications
You must be signed in to change notification settings - Fork 4
Add pipeline Jenkins plugin #7
Comments
Just to add some notes here whilst fresh in my mind... Another note - I also came across the Jenkins 'DSL' setup method, which felt like it could be very appropriate for our complex set of similar repos (https://wiki.jenkins.io/display/JENKINS/Job+DSL+Plugin). /cc @sboeuf |
Sorry I cannot help you here since I have never used the combo Pipeline + GHPRB plugin. I am using freestyle jobs instead. BTW, I am not sure if this issue (adding pipeline) is appropriate since we have our CI working properly right now. |
sure, np @sboeuf - I know the pipeline setup is quite different from the freestyle we currently have working. Yes, it's a shame we cannot, afaik, mix the pipeline view with the freestyle project. I have to wonder if there might be any other plugins that can give us any of that type of functionality (and hence, will leave this ticket open for now as a reminder we might want to go do some research). |
I've just had cause to view a complete console log in jenkins. It actually crashed my chromium tab when I tried to copy the text. A manual
The pipeline plugin should help speed up what is become a specialist role in "spotting the error" by splitting the build output across multiple (smaller :) files and giving a visual indication which build step failed so we can quickly ignore the chaff. |
@jodh-intel Let me try to summarize a bit here. Now that you've enabled the debug mode for all our components (which is a good thing ;) ), we have more than 70MiB of logs every time a build is failing. And this is annoying since we want to determine where the tests have been failing. By saying that we should use a Pipeline plugin (I think you mean Parser plugin cause I don't know the relation with Pipeline here), you are kind of working around the problem without solving it. Even if we use a parser, it will never be perfect, and we will have to look into the logs eventually, meaning we are going to make the browser crashing or being super slow. |
Hi @sboeuf - firstly, yes, I do mean the pipeline plugin as with that fwics, we get to see visually which stage failed. This coupled with your idea of copying the logs (why didn't we do this from the outset I wonder?) will allow us to trivially identify the stage that failed, and then (presumably?) Jenkins will provide a way to download the logs for the failing stage only. |
@jodh-intel the thing is that what you ask for would modify completely what we have now since we are not using Pipeline jobs, but Freestyle jobs instead. That means we could use https://wiki.jenkins.io/display/JENKINS/Convert+To+Pipeline+Plugin in order to first convert the jobs, and then maybe identify which part failed. |
I think we are all on about the same page. I'll add some more details to (hopefully) help even more. but we should be aware that this is not just a 'simple plugin' - it would mean changing our whole workflow style (as @sboeuf says) from freeform to pipeline - I don't think we are quite ready to approach that just yet... Both of these methods though still have the issue that @sboeuf has nicely noted - that we'd still have a single huge log (the pipeline plugin afaict does not split the logs up - it shows which phase failed, but the 'console output' is still just one big file). Thus, @sboeuf suggestion of storing off the logs separately and using the jenkins artifacts method to store log file/fragments back into the server I think may be a good way forwards right now. Hopefully that makes sense - for now log noise reduction (thanks for the PRs @jodh-intel ) and splitting into files and the use of artifacts (thanks @sboeuf ) should move us a long way forwards. In the future we can still consider the pipeline plugin as an option, and I don't see anything 'incompatible' here with that. |
Nice summary @grahamwhaley ! |
This Jenkins plugin will allow us to get a breakdown of where the build time is being spent:
It looks like we can create individual stages for arbitrary commands meaning we can make it as granular as we want ;)
The text was updated successfully, but these errors were encountered: