/devOn

Dev ON - my little helper

Primary LanguageRubyApache License 2.0Apache-2.0

DevOn Build Status

Throw some pixie dust on test environments !


  ██████╗ ███████╗██╗   ██╗ ██████╗ ███╗   ██╗
  ██╔══██╗██╔════╝██║   ██║██╔═══██╗████╗  ██║
  ██║  ██║█████╗  ██║   ██║██║   ██║██╔██╗ ██║
  ██║  ██║██╔══╝  ╚██╗ ██╔╝██║   ██║██║╚██╗██║
  ██████╔╝███████╗ ╚████╔╝ ╚██████╔╝██║ ╚████║
  ╚═════╝ ╚══════╝  ╚═══╝   ╚═════╝ ╚═╝  ╚═══╝
                                  by Paul Brodner

DevON Features

  • ability to configure remote/local unix machines (virtual boxes, AWS servers, etc.) using simple Ruby DSL via SSH protocol
  • ability to run one script with any configuration (script parameters) over remote machine in interactive mode
  • ability to run multiple scripts unattended
  • compatible with ERB templating
  • ability to run scripts on your terminal (via Rake tasks) or from your web browser
  • ability to keep track of all scripts executed in browser and the output result
  • agent-less: no agents required to be installed on remote machines, only ssh connection enabled
  • ability to upload/download files using SFTP protocol
  • ability to generate new project structure will all boilerplates in place

Installation

$ gem install devon

Usage

$ devon -n <name-of-your-project>

This will generate a project structure will all configuration and scripts.

#f03c15 Guideline

Checkout the README.md file generated along with the project.

Playing with Virtual Machine (optional)

After generating your new project, you can test it on a Virtual Machine on your OS. The connections/vagrant folder (in the generated project) contains one Vagrantfile that will spin up a test virtual machine for you.

#f03c15 Prerequisites

You need to have Vagrant installed on your machine and VirtualBox

Open a new terminal and navigate to connection/vagrant and type:

$ vagrant up

This will download and configure for you in the background one Ubuntu test machine that you can use for further testing using the default script.

Running scripts from browser

There is also an interactive way to view and execute your scripts created with devON.

After generate your new project using this guideline, run:

$ rake server:up

This will spin-up one Sinatra based webserver locally:

This page will list all available scripts, connections and configuration index

This page will show the execute scripts with their output execute

Contributing

  1. Fork it ( https://github.com/paulbrodner/devon/fork )

After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.

Run Mintest::Test from the test folder with:

$ rake test # you can also simply call 'rake'
  1. Create your feature branch (git checkout -b my-new-feature)
  2. Commit your changes (git commit -am 'Add some feature')
  3. Push to the branch (git push origin my-new-feature)
  4. Create a new Pull Request