Hacker News new | ask | show | jobs
Show HN: Releasing Ruby gems from your CI environment (blog.snap-ci.com)
7 points by badrij 4448 days ago
1 comments

Is this the best way to auto-deploy a gem to rubygems? Can TravisCI do this? What are people using, if they're not using manual triggering from a desktop or something? What do major gems like rspec, etc use? (or how can I find out?)
The key point here is that it is automated deployment, not automatic deployment. Without an automated manually gated trigger, you would end up deploying every gem that got built to rubygems.org, which would be very broken for gems.

Another possibility- and something people do often is to maintain a release branch and merging all changes from the master/development branch onto this one when something is ready to be released. The gem built from this release branch can then be released automatically every time it is built.

The fact is, that flow too, can be automated from Snap due to our automated branch tracking.

RSpec (rspec-core at least), and many other gems, use TravisCI to do the testing but not the pushing.

Whether its the best way or not depends on one's opinion. But it allows you to maintain a history of your deployments and things like creating tags when you deploy which is helpful for me.

Yes, Travis CI does allow you to do this. But it deploys every passing build, so you can't choose which builds should be released and which shouldn't.

I'm not aware of what others do but I sure hope they use a CI service to release a gem as it makes it easier to track what all is going in and maintaining a history.