Getting Started

Most Solano CI users set up continuous integration and also take advantage of the CLI; you can start with either one.

  1. Prerequisites
  2. Sign Up
  3. Use Solano CI from the CLI
  4. Continuous Integration (build automatically whenever you push changes)
  5. Databases and Configuration

Prerequisites

Sign Up

If you don’t already have a Solano CI account, create a free trial at www.solanolabs.com.

Read on to start by setting up automatic builds via our Continuous Integration support, or skip to Use Solano CI from the CLI to start with our command-line interface. If you use GitHub, you can start running tests without leaving your browser.

Continuous Integration

Most users configure Solano CI for continuous integration – automatically running builds and tests when you commit new code. Read on for an overview of continuous integration with Solano CI; deep-dive details and a discussion of custom integrations is also available.

Many settings for CI, including building of only Pull Requests and setting branch filters using patterns, are configurable from the repo settings page accessible from the dashboard entry for the repository.

After telling Solano CI how to pull your repo, you will probably need to check in a solano.yml file in your repository to describe your build process and tests. See our Language-Specific Guides for more details.

You can configure a new repository for CI from your Solano Dashboard. There are two ways to get set up:

  1. Specifying your repo URL, or
  2. Automatic setup for GitHub repos

Read on for more details about each option.

By Repo URL

To set up a repo for Solano CI, you need to:

  1. Tell us the URL where it’s located (on your source control system)
  2. Configure a repo hook to send an HTTPS POST webhook request to our servers whenever changes are pushed to it
  3. Authorize a Solano SSH Key to pull/clone from your repo’s URL when it receives a webhook

GitHub

If you’ve linked your GitHub account, the first view you’re presented with is a list of your GitHub repos. From there, you can choose branches for automatic builds. If you’ve logged in via GitHub, Solano CI will automatically configure your repos to build by installing Web Hooks to notify on each commit and setting up SSH keys to allow Solano CI to pull your repos.

More Details

For details on setting up CI in your git or hg repo, instructions on how to configure a non-Github repository with post-receive hooks, and troubleshooting information, see Continuous Integration Details.

Use Solano CI from the CLI

Solano CI has a full-featured CLI that supports interacting with our platform, first install the Solano CI client. You’ll need Ruby installed:

$ sudo apt-get install ruby1.9.3   # on Debian or Ubuntu
$ sudo yum install ruby rubygems   # on Fedora, CentOS, RHEL

Or use your favorite Ruby environment manager like rvm or rbenv.

Then install Solano CI:

$ sudo gem install bundler solano

(Ruby users may add the solano gem to Gemfile and run bundle instead.)

Once installed, log in to Solano CI by running

$ solano login

Note

If you have a Solano Private CI instance running at solano.yourdomain.com, you can save it as the default endpoint with the solano server:set command.

$ solano server:set --host solano.yourdomain.com

Enter the email address and password you used when you signed up. You’ll be prompted to authorize an SSH public key. You can add and remove SSH authorized keys at any time using the solano keys command.

At this point, Java, PHP, and Python users should describe their tests in a solano.yml file – see Python or our other Language-Specific Guides. Ruby users can proceed, and Solano CI will recognize standard test frameworks and prep steps automatically. If using a solano.yml, be sure to add and commit so that it becomes part of the repository.

Now run your build and tests:

$ solano run

The solano run command will automatically register a test suite for your repo and branch, and start a test run. It prints results in real time, plus a link to the detailed report page on the Web.

Databases and Configuration

Solano CI supports most popular database services. For a complete list, see our Compatibility page.

Each service is started automatically based on dependency analysis of your application and manual configuration via solano.yml. In some cases you may need to write a short script to complete the setup process, for instance to load the database schema. You can do this by definining a setup hook.

For instance, Solano CI will start a PostgreSQL server if you are using Ruby and your Gemfile includes the pg or do_postgres gems.

For details on database setup, see Databases and Search.