We've provided a Docker environment for development. It's suggested you use that
Before you do anything run bin/install.sh
. This will copy all the sample configuration files to where they should be, plus prompt you to (optionally) edit them.
We have several helper scripts to help you run or access the Docker based development environment.
vagrant provision
This is mostly for when Docker doesn't work on your platform or hardware of choice. Normally you should run Docker directly on the physical hardware you have.
First cd
into the projects root directory and run vagrant up
. The first time you run this command may take a minute or two.
When it's finished building the machine, run vagrant ssh
.
sudo dev-scripts/start_env.sh
vagrant rsync-auto
logout
, and run vagrant provision
. When that has finished run vagrant ssh
and docker should be working fine.$ bundle install
$ yarn install
Tests for both Ruby and Javascript/React components live in test/
:
test/spec
contain RSpec based Ruby teststest/mocha
contain Mocha based Javascript testsUse build-scripts/test.sh
to run the application's tests. (do not use rake spec
)
A CI/CD build pipeline should run deploy-scripts/deploy.sh
with the currently desired deployment type. Thus, to deploy to AWS ECS, (first install the AWS CLI and ECS CLI, and get the profile stuff correct), then
$ deploy-scripts/deploy.sh aws_ecs
The name of the parameter is the name of the folder in deploy-scripts/
Our strategy should be, "master can be released quickly", and roll backs should be possible.