#!/bin/sh # Running as the 'gliders' user, fetch and deploy the # backend tools and website. This script will download # all our logs from various dockservers and # migrates data (such as users) from the old gliders # website database. # Generate a SSH key # We want passwordless authentication when logging into # dockservers from scripts etc. ssh-keygen echo "Please copy the public key on your gitlab account with the name gliders" cat /home/gliders/.ssh/id_rsa.pub echo "Plese press return when you are done" read #We need to go to the gliders home directory first cd /home/gliders # Install Composer mkdir -p /home/gliders/bin curl -sS https://getcomposer.org/installer | php -- --install-dir=bin ln -s /home/gliders/bin/composer.phar /home/gliders/bin/composer # Set up python environment and directories mkdir -p /home/gliders/code mkdir -p /home/gliders/pythonenv mkdir -p /var/gliders/www /var/gliders/www_dev /var/gliders/logs virtualenv /home/gliders/pythonenv --system-site-packages echo 'source /home/gliders/pythonenv/bin/activate' >> /home/gliders/.bash_profile source /home/gliders/pythonenv/bin/activate cd /home/gliders/code # Add contents of /home/gliders/.ssh/id_rsa.pub to GitLab, then: git clone git@gitlab.noc.soton.ac.uk:owanes/gliders-tools.git git clone git@gitlab.noc.soton.ac.uk:owanes/gliders-website.git # Install the gliders DB and parser python libraries, # then fetch all our log files and parse them! cd gliders-tools python setup.py install echo "please enter your mysql root user password" read -s pass mysql -u root -p$pass < new_schema.sql echo "CREATE USER 'gliders'@'%' IDENTIFIED BY '"$pass"' ;" | mysql -u root -p$pass echo "GRANT ALL ON gliders.* TO 'gliders'@'%';" | mysql -u root -p$pass cd bin sh migrate_data.sh # Set up a GitHub API key and add it to .bash_profile # export API_KEY=... # Deploy the website cd /home/gliders/code/gliders-website sh bin/deploy.sh /var/gliders/www_dev dev sh bin/deploy.sh /var/gliders/www prod