Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

Developer Setup

keyvanfatehi edited this page Jan 20, 2013 · 5 revisions

This document is intended to help developers get up and developing for OctopusCI.

Architecture

Initial Setup

You should only need to the following once at the initial setup. After that you should be able to jump down to the Development Process section.

Create the initial OctopusCI skeleton

Assuming you've forked, cloned, and bundled, you must first get the OctopusCI skeleton setup on your dev box. This is done with the following:

rvmsudo ./bin/octopusci-skel -c

Set the workspace permissions

Then you need to set the permissions on the workspace_base_path as below:

sudo chown <your user account> /var/octopusci

Configure e-mail notifications

Once the above is done you need to set your /etc/octopusci/config.yml file up to use your GMail account or some other SMTP account you own to send e-mail notifications. After being updated mine looks as follows (minus the password of course).

smtp:
  notification_from_email: cyphactor@gmail.com
  address: smtp.gmail.com
  port: 587
  authentication: plain
  enable_starttls_auto: true
  user_name: cyphactor@gmail.com
  password: some-password-here
  raise_delivery_errors: true

Configure the user to run the OctopusCI Tentacles as

In the /etc/octopusci/config.yml set the tentacles_user as follows:

  tentactles_user: "<your user account>"

Development Process

Run the web interface

The following will run the web interface in development mode on localhost:9887

rackup -p 9887

Start OctopusCI Tentacles

./bin/octopusci-tentacles start

Useful things for a dev

octopusci-reset-stage-locker

This is a command which just resets the stage locker. This is primarily useful when you are adding or removing stages from the configuration and you need to update the stage locker appropriately.

octopusci-reset-redis

This is a command that allows you to basically nuke all of the state you have related to OctopusCI inside redis and start over. Note: It does not nuke the files inside of your workspace base path so you will need to go manually remove those if you run this command.