
The webclient no longer explicitly requires GCC, since it doesn't always install nodeenv. Dependent on #106191 Change-Id: I2681ac44047d46c36e0c887449eb00edb7bb48b6
2.9 KiB
Installing and Running the Development Version
Storyboard has two components: this API server, and the Javascript-based web client.
Installing the API server
To start the API server, make sure you have the following packages installed locally:
- libpq-dev
- libmysqlclient-dev
Clone storyboard:
git clone https://git.openstack.org/openstack-infra/storyboard cd storyboard
Add MySQL user and create database:
mysql -u $DB_USER -p$DB_PASSWORD -e 'DROP DATABASE IF EXISTS storyboard;' mysql -u $DB_USER -p$DB_PASSWORD -e 'CREATE DATABASE storyboard;'
Copy the sample configuration file:
cp ./etc/storyboard.conf.sample ./etc/storyboard.conf
Edit
./etc/storyboard.conf
and set theconnection
parameter in the[database]
section.Install the correct version of tox. Latest tox has a bug. https://bugs.launchpad.net/openstack-ci/+bug/1274135:
pip install --upgrade "tox>=1.6,<1.7"
Upgrade DB schema to the latest version:
tox -e venv "storyboard-db-manage --config-file ./etc/storyboard.conf upgrade head"
Start the API server:
tox -e venv "storyboard-api --config-file ./etc/storyboard.conf"
Installing the Javascript-based web client
To build and start the web client, you will need either of these dependency sets installed locally:
Option 1:
- Python 2.6 or 2.7
- NodeJS v0.10.29 or newer
- NPM v1.3.10 or newer
(Ubuntu Trusty packages are sufficient, even though they indicate an older version).
Option 2:
- GCC 4.2 or newer
- Python 2.6 or 2.7
- GNU Make 3.81 or newer
- libexecinfo (FreeBSD and OpenBSD only)
Clone storyboard:
git clone https://git.openstack.org/openstack-infra/storyboard-webclient cd storyboard-webclient
Run a local development server, which uses the localhost API:
tox -egrunt_no_api server
Run a local development server, which uses the production API:
tox -egrunt_no_api server:prod
Optional steps: Seed database with base data
If you want to define superusers in the database, copy
./etc/superusers.yaml.sample
to./etc/superusers.yaml
and define a few superuser IDs.Enable the superusers in the database:
tox -e venv "storyboard-db-manage --config-file ./etc/storyboard.conf load_superusers ./etc/superusers.yaml"
If you want to quickly set up a set of projects and project groups in the database, copy
./etc/projects.yaml.sample
to./etc/projects.yaml
and define a few projects and project groups.Create the projects and projectgroups in the DB:
tox -e venv "storyboard-db-manage --config-file ./etc/storyboard.conf load_projects ./etc/projects.yaml"