Scripts and utilities that run appleseed's functional test suite on Digital Ocean.
We use a dedicated server on Digital Ocean to run the appleseed test suite on each master build. Travis jobs take care of uploading the Linux build to our server.
We deploy master builds on a dedicated server. We then use these builds to run the test suite.
We first need to add a specific user for deployment on the server:
sudo user add johnny
sudo passwd johnny
sudo mkdir -p /home/johnny
sudo chown -R johny:johnny/home/johnny
sudo usermod --shell /bin/bash johnnyThe chosen password for johnny will be configured in Travis. Be sure to choose a safe password and never give sudo permissions to johnny.
Travis needs to know where to deploy and which user/password to use for ssh. Define the following variables in appleseed Travis settings:
DEPLOY_FOLDER, where to deploy on the server.last_master_build/will deploy in/home/johnny/last_master_build/DEPLOY_PASSWORD, johnny passwordDEPLOY_URL, server name, IP address, or whatever we need to ssh to itDEPLOY_USER, simplyjohnnyDEPLOY_SSS_KEY, public key of the server
To obtain the public key of the server, run the following:
ssh-keyscan SERVER_IP && ssh-keygen -F SERVER_IPFor more details, see deploy in .travis.yml.
First, install some dependencies:
apt-get install python-pip
pip install coloramaThen, fetch the required scripts.
cd /home/johnny
git clone [email protected]:appleseedhq/automated-test-suite.gitTo automatically run these tests for new builds, we use cron to run this script every 24 hours. The crontab needs to be edited with a sudo user:
$ sudo crontab -u johnny -e
# m h dom mon dow command
0 0 * * * sh /home/johnny/atuomated-test-suite/run_tests.shWe use a Docker container with nginx:alpine. First, prepare the www directory:
$ mkdir -p /home/johnny/automated-test-suite-wwwThen as root or any user with docker rights, run the following:
sh /home/johnny/automated-test-suite/start_test_scenes_web_server.sh