+++ /dev/null
----
-- project:
- name: spectrometer
- jobs:
- - '{project-name}-node-jobs'
- - '{project-name}-python-jobs'
- - '{project-name}-rtd-jobs':
- project-pattern: spectrometer
- rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-spectrometer/32925/
- rtd-token: 383146c345ca41b9e36859b6dcd57ffca38f21c7
- - spectrometer-deploy-webapp-master
-
- stream:
- - master:
- branch: 'master'
-
- project: spectrometer
- project-name: spectrometer
- tox-dir: server
- node-dir: web
- node-version: 6.11.4
- staging-server: spectrometer03.dfw.opendaylight.org
-
-- job-template:
- name: 'spectrometer-deploy-webapp-master'
-
- project-type: freestyle
- node: centos7-builder-2c-8g
- concurrent: false
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - 'spectrometer-deploy-key'
-
- triggers:
- - gerrit-trigger-patch-merged:
- gerrit-server-name: '{gerrit-server-name}'
- name: 'spectrometer'
- branch: 'master'
- - timed: '@daily'
-
- builders:
- - shell: |
- echo "Deploying spectrometer"
- ssh -oStrictHostKeyChecking=no spectrometer@{staging-server} 'bash -s' << EOF
-
- if [ -e spectrometer ]; then
- cd spectrometer
- git pull
- cd ..
- else
- git clone https://git.opendaylight.org/gerrit/spectrometer
- fi
-
- echo "---> Setup Python"
- if [ -e venv-python34/bin/activate ]; then
- echo "---> Updating Python dependencies"
- source venv-python34/bin/activate
- PYTHON="venv-python34/bin/python"
- else
- echo "---> virtualenv not found. Setting up new virtualenv."
- pyvenv venv-python34 --without-pip
- source venv-python34/bin/activate
- PYTHON="venv-python34/bin/python"
- wget https://bootstrap.pypa.io/get-pip.py
- python get-pip.py
- $PYTHON -m pip install -e spectrometer/server
- fi
- $PYTHON -m pip install --upgrade -r spectrometer/server/requirements.txt
- $PYTHON -m pip install --upgrade gunicorn gevent
- $PYTHON -m pip install --upgrade nodeenv
- $PYTHON -m pip install --upgrade pipdeptree
- pipdeptree
-
- echo "---> Setup NodeJS"
- if [ -e venv-nodejs/bin/activate ]; then
- echo "---> Updating NodeJS dependencies"
- else
- echo "---> nodeenv not found. Setting up new nodeenv"
- nodeenv --node={node-version} --prebuilt venv-nodejs
- fi
- source venv-nodejs/bin/activate
- node -v
- npm -v
-
- echo "---> Restart spectrometer-api"
- pkill gunicorn
- sleep 5 # Sleep 5 seconds for cooldown
- spectrometer server sync
- nohup gunicorn -b 0.0.0.0:5000 'spectrometer:run_app()' --timeout 600 -k gevent >> ~/gunicorn.out &
- sleep 120 # Sleep 2 minutes to allow Spectrometer to initialize
-
- echo "---> Restart spectrometer-web"
- pkill node
- sleep 5 # Sleep 5 seconds for cooldown
- cd spectrometer/web
- npm install
- nohup npm start >> ~/node.out &
-
- EOF