/spinnaker

Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

Primary LanguagePythonApache License 2.0Apache-2.0

Slack Status

Using Spinnaker

If you are only interested in using Spinnaker, please refer to the main Spinnaker site and Getting Started guide.

Setting Up Spinnaker For Development

These instructions cover pulling Spinnaker from source and setting up to run locally against Amazon Web Services and/or Google Cloud Platform accounts.

Please ensure you have set up your target environment correctly by following step 1 of the Getting Started Documentation.

If you do not wish to build from source, please follow the Install and Run Spinnaker section of the getting started guide for a one line deployment in Ubuntu.

If you would prefer to try a container based solution, see docker-compose installation

These scripts are tested on:

  • Ubuntu 14.04 LTS

  • Mac OS X 10.11

Get the bootstrap / configuration repo

#export SPINNAKER_HOME=/path/to/your/Spinnaker/workspace
mkdir -p $SPINNAKER_HOME
cd $SPINNAKER_HOME
git clone git@github.com:spinnaker/spinnaker.git

Configure your environment

The Spinnaker platform has a few prerequisites, which are installed as a part of this configuration process. They are:

MacOSX

You need to have homebrew installed and ensure your version of git is above 2.0.

brew install caskroom/cask/brew-cask
brew install redis cassandra packer
brew cask install java
cd $SPINNAKER_HOME
mkdir build
cd build
../spinnaker/dev/refresh_source.sh --pull_origin --use_ssh --github_user default

Debian-linux

cd $SPINNAKER_HOME
spinnaker/dev/install_development.sh
spinnaker/dev/bootstrap_dev.sh

The bootstrap_dev.sh script will ask to install additional components. gcloud is only needed to write releases to Google Cloud Storage, but is convenient to have if you plan on using or accessing Google Cloud Platform resources from your development environment. These could be installed at a system level rather than user level, but the default install requires updating your path so is performed here.

Configure Spinnaker

We will create a directory for Spinnaker configuration overrides, copy the default configuration template there, and edit to select the appropriate cloud provider(s).

cd $SPINNAKER_HOME
mkdir -p $HOME/.spinnaker
cp spinnaker/config/default-spinnaker-local.yml $HOME/.spinnaker/spinnaker-local.yml
chmod 600 $HOME/.spinnaker/spinnaker-local.yml

If you are deployed onto a supported cloud provider (e.g. AWS or Google) and you only wish to deploy on that platform then you do not need to perform additional configuration. Otherwise, edit $HOME/.spinnaker/spinnaker-local.yml and set the enabled option for the cloud provider(s) of your choice and configure the attributes for that provider.

Start Spinnaker Services

( If you’re running on Mac OS, please make sure that your redis server and cassandra server is up and running. Make sure that cqlsh is accessible in your path and you can connect to cassandra by calling cqlsh in your terminal ).

cd $SPINNAKER_HOME/build
../spinnaker/dev/run_dev.sh [service]

If a service is provided, then just that one service will be started. If no service is provided, then all the services will be started (including redis and cassandra unless they are specified with a remote host). If a service is already running (even if not yet available) then it will not be restarted.

Note run_dev.sh might get stuck waiting on a service to start. Hitting CTRL-C just stops the waiting on service it doesn’t terminate the services. If it seems stuck stop and restart run_dev.sh.

Stop Spinnaker Services

cd $SPINNAKER_HOME/build
../spinnaker/dev/stop_dev.sh [service]

If a service is provided, then just that one service will be stopped. If no service is provided then all the spinnaker services will be stopped. Cassandra and redis are not affected by stop_dev.sh