Jently
Jently copied to clipboard
Turn Jently into a daemon. Distributed it as a RubyGem.
Fixes #34.
Per #34, the main benefits of this PR are:
- Setup is now
gem install jently
+ setup a config file + start the Jently daemon. - Users can run multiple instances of Jently pointing at different repos by firing up multiple Jently daemons.
- Users can deploy Jently with configuration management easily, by using and adapting the shipped Puppet module.
- Contributors to Jently no longer need to worry about accidentally committing and publicly pushing config.yaml.erb into their fork.
There's a lot of changes to digest, so I'm looking forward to any feedback you have.
I didn't tackle a full on refactoring of Jently as I wanted to keep as much of Jently the same as possible. I may submit another PR in the next few weeks to make the code a little more consistent.
@vaneyckt once you sign off on the PR and merge, you can do the honours of releasing to RubyGems.org.
Wow. That's a lot of code :+1:. Sorry for the late response, I haven't been behind a computer much this weekend. I'll start looking at this tonight and leave comments wherever I'm having trouble :).
No worries at all.
I tried to keep the changes to a minimum, but there was a bit of surgery required. :hocho:
I've had this running in production the last few days, and it seems to be working well. Looking forward to your feedback!
I'm gonna go over this in more detail tomorrow. To be fair, I underestimated just how much new stuff there was in here. Also I noticed you used some cmd line parser approaches that I've seen before (but never used - I tend to use the much more basic Trollop), so this is an ideal chance for me to learn it :+1:.
Also, lots of other nice stuff, like using gemspec in the Gemfile :gift_heart:
I hope you don't mind if I want to use this as an opportunity to learn, and make sure I understand it all, before I hit the merge button.
Just to be clear: this can easily take a few days. Just wanna be clear about that so you don't think I've forgotten about this. Although I'm sure I'll be pestering you with questions in the meantime :).
No worries at all!
There are certainly a lot of changes, and I definitely want you to feel comfortable with all the changes I've made before you merge them.
Ask all the questions. :metal:
Just to keep you up-to-date: I'm having some people visiting for a while. I thought I could sneak in going through this code every now and then, but it turns out I was wrong. Just so you know why I haven't been v active. I'll definitely have time on Tuesday.
Sorry for the delay :/
No worries. I'm in Europe atm so will have a bit more crossover with your hours wise. :smile:
I've been told by feylya (https://twitter.com/feylya) - all around awesome guy and brilliant devops - that you were scaring the ppl at monitorama with tales of airplane disasters :)
Heh, yeah. Just getting back into work today. :grimacing:
I'll go through all your feedback later today. :v:
brilliant \o/
I won't be near a computer tomorrow (and possibly the day after), so if you don't hear from me for a few days, that's why :) Hope you you had a good time at monitorama :)
Yo, I finally got around to going through your feedback.
I'm in Tel Aviv atm, so will be on-and-offline until next Wednesday, but will try and get back to you a bit more quickly.
I think this is ready to go in. The only reason I haven't pushed the button yet is because of https://github.com/vaneyckt/Jently/issues/41. Just waiting for Github to get back. If they haven't gotten back to me by Wednesday I'll merge this regardless \o/
Alright, I'm gonna merge the bugfix in #41 into our internal build and test it for a bit.
Nice work tracking down that bug - I tried for a few hours last week and was stumped. :neutral_face:
I just noticed that there were a bunch of failing tests due to the removal of the JSON gem, so I've added that back in.
Other than that, I think this PR is in a pretty good position for merging.
you're right. My mistake :/
@auxesis are you sure Marc's code is working for you? It caused failing spec tests for me. I've since added some code to fix this.
Yeah you're right, I thought I was running this in production but I had an earlier gem deployed.
I'll revert my last commit so everything merges cleanly.
Alright, everything should merge fine now! :tada:
brilliant. I'll merge it over the weekend. Way too busy with work atm :cry:
Actually you should hold off. :disappointed:
We've been having issues with this in production the last few days, and I'm doing some refactoring around the place to improve the logging and get a better understanding of why builds are being constantly triggered. :poop:
OK, I made a whole bunch of logging improvements to attempt to make Jently's behaviour more transparent. :mag:
I've got it working and we haven't had issues with builds being triggered infinitely the last few days. :loop:
Just noticed that the Travis build is failing, so I'll need to check what is going on there. :disappointed:
yay \o/
:cry: (for the failing build)
:poop:
@jesseadams anything that's particularly :poop:?
@auxesis - Just the fact that this PR lost momentum :smile_cat:
That's life, I guess. :skull:
We've actually been running this in production for a few months at @bulletproofnetworks and it's working pretty great.
I just need to work out why the tests are failing on Travis.
:cry: