Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

horatio

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

horatio

  • 0.1.7
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

Horatio

Build Status

Horatio helps you build a Docker image for the project you're working on and produces an artifact (JSON document) which contains meta-data about the image produced, this artifact than can be used in your build pipeline to do things like deploy containers with a configuration management tool / scheduler of your choice, Ansible for example.

Horatio's advantage is that it stays out of your way and let's you get on with building great software.

Horatio is most handy if you have an existing build pipeline and just want to try Docker containers out for your project with minimal fuss or have a lot of services to build, especially in different languages.

Automatic Project Detection

If, for example, you have a Java project which you build and manage with maven Horatio can parse a POM for you, strip the name and version and build and push a Docker container to a registry for you.

The automatic project detection is also good if you're nailing up several services in different languages, this helps automate building of Docker containers in a fast and simple manner, it's been used this way in the past.

Supported project types

Horatio automatically detects the kind of project you're working with and acts accordingly so far it supports:

  • Maven
  • Ruby Gems
  • Node JS

If you use a Horatio document then Horatio will increment the version, commit and push it back the source repository for you. In all other cases Horatio will leave your existing version management alone.

Arbitrary Container Builds

This workflow is best if you just would like to build something like a Redis image.

If you just need to get an arbitrary project built and pushed somewhere you can simply create a horatio.json, like so:

To get started, Create a Horatio spec horatio.json in your project root with the contents {'name': 'misc-project', 'version': '0.0.1'}

This workflow automatically increments the 'version' in the spec and pushes it back to your repository, this will be configurable soon

Usage

To install

$ gem install horatio
$ horatio

To prevent caching of a build, export the following environment variable before running horatio DOCKER_BUILD_NO_CACHE=1

Dev

bundle install
guard

Why do versions contain source repository revisions

Unfortunately the Docker registry handles tags as mutable objects. If you push a image to the registry with the same name and version tag you will overwrite the previous tag. Inserting the revision from the latest git commit ensures we don't end up with collisions.

Horatio?

In honour of Horatio McAllister

FAQs

Package last updated on 09 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc