https://github.com/acquia/microbus
Turn a Rubygem into a package for deployment, including native gems.
https://github.com/acquia/microbus
Last synced: 11 days ago
JSON representation
Turn a Rubygem into a package for deployment, including native gems.
- Host: GitHub
- URL: https://github.com/acquia/microbus
- Owner: acquia
- License: apache-2.0
- Created: 2016-02-02T20:15:41.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-19T14:44:58.000Z (2 months ago)
- Last Synced: 2025-03-28T15:51:52.065Z (29 days ago)
- Language: Ruby
- Homepage:
- Size: 62.5 KB
- Stars: 4
- Watchers: 10
- Forks: 18
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
#  Microbus
[](https://travis-ci.org/acquia/microbus)
Takes a Ruby project and quickly turns it into a small tarball or package suitable for
deployment to Linux servers.## Dependencies
- Docker installed and running.
- A Dockerfile to create a build environment (default: `./docker/Dockerfile`).
- A Ruby project with a `.gemspec` and `Gemfile`.
* NOTE: What is deployed is defined in your gemspec. Make sure spec.files,
spec.bindir and spec.executables are correct and complete.## Usage
Microbus provides rake tasks, which may be configured. For example, to create
Microbus' tasks as the `build` namespace, add the following to your `Rakefile`:```ruby
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
```## Inspiration
Microbus is a play on [Omnibus](https://github.com/chef/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.## Development
```
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](https://rubygems.org).## Contributing
Bug reports and pull requests are welcome on GitHub at
https://github.com/acquia/microbus.## License
The gem is available as open source under the terms of the
[Apache 2.0](http://opensource.org/licenses/MIT).