4 - '{project-name}-merge-rtd-{stream}'
5 - '{project-name}-verify-node-{stream}'
6 - '{project-name}-verify-python-{stream}'
7 - 'spectrometer-deploy-webapp-master'
13 project: 'spectrometer'
14 project-name: 'spectrometer'
15 rtdproject: 'opendaylight-spectrometer'
19 staging-server: spectrometer03.dfw.opendaylight.org
22 name: 'spectrometer-deploy-webapp-master'
24 project-type: freestyle
29 daysToKeep: '{build-days-to-keep}'
30 numToKeep: '{build-num-to-keep}'
34 - ssh-agent-credentials:
36 - 'spectrometer-deploy-key'
39 - gerrit-trigger-patch-merged:
45 echo "Deploying spectrometer"
46 ssh -oStrictHostKeyChecking=no spectrometer@{staging-server} 'bash -s' << EOF
48 if [ -e spectrometer ]; then
53 git clone https://git.opendaylight.org/gerrit/spectrometer
56 echo "---> Setup Python"
57 if [ -e venv-python34/bin/activate ]; then
58 echo "---> Updating Python dependencies"
60 echo "---> virtualenv not found. Setting up new virtualenv."
62 pip install -e spectrometer/server
64 source venv-python34/bin/activate
65 pip install --upgrade -r spectrometer/server/requirements.txt
66 pip install --upgrade nodeenv
69 echo "---> Setup NodeJS"
70 if [ -e venv-nodejs/bin/activate ]; then
71 echo "---> Updating NodeJS dependencies"
73 echo "---> nodeenv not found. Setting up new nodeenv"
74 nodeenv --node={nodever} --prebuilt venv-nodejs
76 source venv-nodejs/bin/activate
77 npm install -g spectrometer/web
81 echo "---> Ensure mongo is running"
82 ps -A | grep -q '[m]ongod'
83 if [ ! "$?" -eq "0" ]; then
84 echo "The mongod server DOWN", restarting...
85 if [ ! -d mongo ]; then
88 echo "---> Starting mongo"
89 mongod --dbpath ~/mongo &
92 echo "---> Restart spectrometer-api"
94 sleep 5 # Sleep 5 seconds for cooldown
95 nohup gunicorn -b 0.0.0.0:5000 'spectrometer:run_app()' --timeout 600 -k gevent >> ~/gunicorn.out &
97 echo "---> Restart spectrometer-web"
99 sleep 5 # Sleep 5 seconds for cooldown
101 nohup npm start >> ~/node.out &