Skip to content

Instantly share code, notes, and snippets.

@p0deje
Last active November 8, 2015 15:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save p0deje/afbbfec8aa88a9005a71 to your computer and use it in GitHub Desktop.
Save p0deje/afbbfec8aa88a9005a71 to your computer and use it in GitHub Desktop.

Testatic

Testatic

Testatic brings a new level of reviewing GitHub pull requests. Every change you have in your Rails application pull request is automatically deployed to a separate server and becomes available for anyone. If you struggle with doing manual testing of team members' changes, with demonstrating your changes to other people, with testing integrations with third-party software, then Testatic is for you.

Whenever you open pull request or push changes to an existing one, Testatic will automatically pick them up and deploy to a fresh server. It will then update commit status with URL to your Rails application.

Let's take a look at example.

We have a basic Rails application and a person working on wants to modify home page.

First of all, he goes to Testatic and logs in using his GitHub account.

Next, he activates Testatic for the repository.

Activate repo

He creates a very simple changes to home page view, pushes them to separate branch and opens a new pull request:

Open pull request

When pull request is opened, Testatic picks up changes and start deploying them to a separate server:

Testatic pending

Once deployment is done, Testatic updates commit status on GitHub with:

Testatic done

You can now click "Details" to open your Rails application on a separate server.

Temploy

Notes

Only Rails applications are currently supported.

Rails server is run in production environment.

At the moment, the server has very limited software pre-installed (PostgreSQL, SQLite) and no customization is possible. This makes it useful only for a very simple Rails applications. If that is fine for you and no external dependencies are required, the only thing you might want to do is to provide Testatic with a valid database configuration file. Create config/database.yml.testatic with valid credentials:

production:
  database: YOUR_DB_NAME
  username: postgres

Once 30 minutes has passed since last request to server, it will be automatically stopped. Visting the URL again will start server again. This means that it's accessible anytime and will only become permanently deleted when pull request is closed or merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment