Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the Rebuild Plugin to Jenkins (ci.nodejs.org) #672

Closed
gibfahn opened this issue Apr 3, 2017 · 17 comments
Closed

Add the Rebuild Plugin to Jenkins (ci.nodejs.org) #672

gibfahn opened this issue Apr 3, 2017 · 17 comments

Comments

@gibfahn
Copy link
Member

gibfahn commented Apr 3, 2017

We use the Rebuild plugin internally, and it's really helpful. It basically does a Build now and prepopulates the parameters with whatever they were set to in the job you are rebuilding. You can still change any you need to.

Basically it saves a lot of typing when you're trying to fix a job which has lots of parameters.

cc/ @gdams

@jbergstroem
Copy link
Member

SGTM if it scratches an itch!

@refack
Copy link
Contributor

refack commented Jul 17, 2017

Ping? I would use it quite often.
If it could be set to just re-populate the form and leave the "Submit" for manual clicking that would be great for node-stress-single-test. But that's a "nice-to-have".

@gibfahn
Copy link
Member Author

gibfahn commented Jul 18, 2017

If it could be set to just re-populate the form and leave the "Submit" for manual clicking that would be great for node-stress-single-test. But that's a "nice-to-have".

Not quite sure what you mean, but when you press rebuild it pre-populates the parameters with whatever you set when you initially ran the build. That's kinda the whole point 😜

@refack
Copy link
Contributor

refack commented Jul 18, 2017

If it could be set to just re-populate the form and leave the "Submit" for manual clicking that would be great for node-stress-single-test. But that's a "nice-to-have".
Not quite sure what you mean, but when you press rebuild it pre-populates the parameters with whatever you set when you initially ran the build. That's kinda the whole point 😜

I mean fill the form but not submit it. e.g. for node-stress-single-test you could start a job on one RUN_LABEL, then hit rebuild, change RUN_LABEL, and submit a second job...
But anyway, just activate it for the gen-pop.

@gibfahn
Copy link
Member Author

gibfahn commented Jul 18, 2017

start a job on one RUN_LABEL, then hit rebuild, change RUN_LABEL, and submit a second job...

Yeah, that's how it works

@gdams
Copy link
Member

gdams commented Jul 18, 2017

SGTM

@gibfahn
Copy link
Member Author

gibfahn commented Jul 20, 2017

image

So this plugin is already installed, but just not enabled.

Rebuilder This plugin is for rebuilding a job using the same parameters. 1.25

I'm not entirely sure why it's called Rebuilder instead of Rebuild Plugin, but the link is the same.

I've enabled it, if anyone knows why it was disabled (and thinks it should continue to be disabled) please let me know.

@gibfahn
Copy link
Member Author

gibfahn commented Jul 20, 2017

It won't actually be enabled until Jenkins is next restarted. I'm not sure how we normally do that, am I okay to just click the Restart Jenkins once no jobs are running button?

@refack
Copy link
Contributor

refack commented Jul 22, 2017

I found this:
image
Seems like it reruns the build with the same parameters, but "auto-submits"

@gibfahn
Copy link
Member Author

gibfahn commented Jul 23, 2017

Restarted and it's there, see:

Rebuild

Rebuilds that job (like hitting Build with Parameters and then pre-filling all the parameters with the same values as that build.

image

Rebuild last

Like clicking on the last build and clicking Rebuild.

image

Note that you get the chance to change parameters before you run.

cc/ @nodejs/collaborators , I found this saves a lot of time when running jobs.

@gibfahn gibfahn closed this as completed Jul 23, 2017
@refack
Copy link
Contributor

refack commented Jul 23, 2017

Regarding restart, I just found its avalible to unauthenticated users
image
Is that a security issue?

@Trott
Copy link
Member

Trott commented Jul 23, 2017

@refack 😱

@bnoordhuis
Copy link
Member

https://ci.nodejs.org/job/node-test-pull-request/9310/ - "Started by anonymous user"

Although I'm not sure if it actually does anything. The sub-jobs are done near instantaneously but with reported running times in the tens of minutes, except for an ARM job which seems stuck on something.

@gibfahn
Copy link
Member Author

gibfahn commented Jul 24, 2017

I think this is the (fixed in next release) bug report: https://issues.jenkins-ci.org/browse/JENKINS-36333

I don't think this has anything to do with the Rebuild Plugin, the Resume Build button was I think there before. I could be wrong though.

EDIT: Looking at this feature request, which I think is the one that added Resume Build, it looks like all it does is rebuild the sub-jobs that failed, so it's not a huge issue.

Unfortunately we won't be able to update to the newer version of Jenkins until all our machines use Java 8.

@rvagg
Copy link
Member

rvagg commented Jul 25, 2017

btw I installed this really early on but it was removed because of this security problem, somehow we've lost this institutional knowledge and I'm not really sure how we retain it across people changes. Interesting data point nonetheless. Sorry I missed this issue and the fact that it was back again!

@refack
Copy link
Contributor

refack commented Jul 25, 2017

IMHO the only issue with this is DOS, and that might be mitigated by that you can only Resume each job once.

@gibfahn
Copy link
Member Author

gibfahn commented Jul 26, 2017

btw I installed this really early on but it was removed because of this security problem

@rvagg which security problem, am I wrong in saying:

I don't think this has anything to do with the Rebuild Plugin, the Resume Build button was I think there before.
https://issues.jenkins-ci.org/browse/JENKINS-36333

?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants