5 - '{project-name}-merge-rtd-{stream}'
6 - '{project-name}-verify-node-{stream}'
7 - '{project-name}-verify-python-{stream}'
8 - 'spectrometer-deploy-webapp-master'
14 project: 'spectrometer'
15 project-name: 'spectrometer'
16 rtdproject: 'opendaylight-spectrometer'
20 staging-server: spectrometer03.dfw.opendaylight.org
23 name: 'spectrometer-deploy-webapp-master'
25 project-type: freestyle
26 node: centos7-java-builder-2c-4g
30 - opendaylight-infra-properties:
31 build-days-to-keep: '{build-days-to-keep}'
35 - ssh-agent-credentials:
37 - 'spectrometer-deploy-key'
40 - gerrit-trigger-patch-merged:
41 server-name: '{server-name}'
48 echo "Deploying spectrometer"
49 ssh -oStrictHostKeyChecking=no spectrometer@{staging-server} 'bash -s' << EOF
51 if [ -e spectrometer ]; then
56 git clone https://git.opendaylight.org/gerrit/spectrometer
59 echo "---> Setup Python"
60 if [ -e venv-python34/bin/activate ]; then
61 echo "---> Updating Python dependencies"
62 source venv-python34/bin/activate
63 PYTHON="venv-python34/bin/python"
65 echo "---> virtualenv not found. Setting up new virtualenv."
66 pyvenv venv-python34 --without-pip
67 source venv-python34/bin/activate
68 PYTHON="venv-python34/bin/python"
69 wget https://bootstrap.pypa.io/get-pip.py
71 $PYTHON -m pip install -e spectrometer/server
73 $PYTHON -m pip install --upgrade -r spectrometer/server/requirements.txt
74 $PYTHON -m pip install --upgrade gunicorn gevent
75 $PYTHON -m pip install --upgrade nodeenv
76 $PYTHON -m pip install --upgrade pipdeptree
79 echo "---> Setup NodeJS"
80 if [ -e venv-nodejs/bin/activate ]; then
81 echo "---> Updating NodeJS dependencies"
83 echo "---> nodeenv not found. Setting up new nodeenv"
84 nodeenv --node={nodever} --prebuilt venv-nodejs
86 source venv-nodejs/bin/activate
90 echo "---> Restart spectrometer-api"
92 sleep 5 # Sleep 5 seconds for cooldown
93 spectrometer server sync
94 nohup gunicorn -b 0.0.0.0:5000 'spectrometer:run_app()' --timeout 600 -k gevent >> ~/gunicorn.out &
95 sleep 120 # Sleep 2 minutes to allow Spectrometer to initialize
97 echo "---> Restart spectrometer-web"
99 sleep 5 # Sleep 5 seconds for cooldown
102 nohup npm start >> ~/node.out &