Takes a Ruby project and quickly turns it into a small tarball or package suitable for deployment to Linux servers.
- Docker installed and running.
- A Dockerfile to create a build environment (default:
./docker/Dockerfile
). - A Ruby project with a
.gemspec
andGemfile
.- NOTE: What is deployed is defined in your gemspec. Make sure spec.files, spec.bindir and spec.executables are correct and complete.
Microbus provides rake tasks, which may be configured. For example, to create
Microbus' tasks as the build
namespace, add the following to your Rakefile
:
require 'microbus/rake_task'
Microbus::RakeTask.new(:build) do |opts|
opts.type = :deb
opts.arch = 'x86_64'
opts.deployment_path = "/opt/myorg/#{opts.gem_helper.gemspec.name}"
opts.smoke_test_cmd = 'myapp --help'
end
To build, run this in your project's directory:
rake build
To cleanup, run this in your project's directory:
rake build:cleanup
Microbus is a play on Omnibus with the intention of being simpler and faster because it creates small tarballs for configured Linux servers (rather than multi-platform, multi-purpose tools). Microbus doesn't support arbitrary build environments (VMs), only supports Linux as a target and doesn't include a Ruby interpreter in it's builds.
bundle install
rake
To release a new version, update the version number in version.rb
, and then
run bundle exec rake release
, which will create a git tag for the version,
push git commits and tags, and push the .gem
file to
rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/acquia/microbus.
The gem is available as open source under the terms of the Apache 2.0.