diff --git a/.gitignore b/.gitignore index c366ea24..622a9c22 100644 --- a/.gitignore +++ b/.gitignore @@ -113,3 +113,6 @@ node_modules/ # .DS_Store .DS_Store + +.docks +.docs \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..5ca0b085 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent { + node { + label 'crawlab' + } + } + + environment { + HOME = '/home/yeqing' + NODE_HOME = '/home/yeqing/.nvm/versions/node/v8.12.0' + ROOT_DIR = "/home/yeqing/jenkins_home/workspace/crawlab_${GIT_BRANCH}" + PYTHON_HOME = '/home/yeqing/.pyenv/shims' + } + + stages { + stage('Setup') { + steps { + echo "Running Setup..." + // sh '. /home/yeqing/.profile' + script { + if (env.GIT_BRANCH == 'develop') { + env.MODE = 'test' + } else if (env.GIT_BRANCH == 'master') { + env.MODE = 'production' + } else { + env.MODE = 'test' + } + } + } + } + stage('Build Frontend') { + steps { + echo "Building frontend..." + // sh "${NODE_HOME}/bin/node ${NODE_HOME}/bin/npm install -g yarn pm2 --registry=http://registry.npm.taobao.org/" + sh "cd ${ROOT_DIR}/frontend && ${NODE_HOME}/bin/node ${NODE_HOME}/bin/yarn install --registry=http://registry.npm.taobao.org/ --scripts-prepend-node-path=${NODE_HOME}/bin/node" + sh "cd ${ROOT_DIR}/frontend && ${NODE_HOME}/bin/node ${ROOT_DIR}/frontend/node_modules/.bin/vue-cli-service build --mode=${MODE}" + } + } + stage('Build Backend') { + steps { + echo "Building backend..." + sh "${PYTHON_HOME}/pip install -r ${ROOT_DIR}/crawlab/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple" + } + } + stage('Test') { + steps { + echo 'Testing..' + } + } + stage('Deploy') { + steps { + echo 'Deploying....' + sh "${NODE_HOME}/bin/node ${NODE_HOME}/bin/pm2 restart app" + sh "${NODE_HOME}/bin/node ${NODE_HOME}/bin/pm2 restart run_flower" + sh "${NODE_HOME}/bin/node ${NODE_HOME}/bin/pm2 restart run_worker" + } + } + } +} \ No newline at end of file diff --git a/README-zh.md b/README-zh.md index 36e9d82d..88d83abc 100644 --- a/README-zh.md +++ b/README-zh.md @@ -1,5 +1,6 @@ # Crawlab +![](http://114.67.75.98:8081/buildStatus/icon?job=crawlab%2Fdevelop) ![](https://img.shields.io/badge/版本-v0.2.1-blue.svg) diff --git a/README.md b/README.md index 2914ffa2..9bffb6ed 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # Crawlab +![](http://114.67.75.98:8081/buildStatus/icon?job=crawlab%2Fdevelop) ![](https://img.shields.io/badge/version-v0.2.1-blue.svg) - + [中文](https://github.com/tikazyq/crawlab/blob/master/README-zh.md) | English diff --git a/crawlab/bin/run_app.py b/crawlab/bin/run_app.py deleted file mode 100644 index 999d7278..00000000 --- a/crawlab/bin/run_app.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys -import os - -# make sure the working directory is in system path -file_dir = os.path.dirname(os.path.realpath(__file__)) -root_path = os.path.abspath(os.path.join(file_dir, '..')) -sys.path.append(root_path) - -from config import PROJECT_LOGS_FOLDER, FLASK_HOST, FLASK_PORT -from manage import app - -# create folder if it does not exist -if not os.path.exists(PROJECT_LOGS_FOLDER): - os.makedirs(PROJECT_LOGS_FOLDER) - -# run app instance -app.run(host=FLASK_HOST, port=FLASK_PORT) diff --git a/crawlab/bin/start_flower.sh b/crawlab/bin/start_flower.sh deleted file mode 100755 index 98339f7d..00000000 --- a/crawlab/bin/start_flower.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -celery flower --broker=mongodb://localhost:27017 diff --git a/frontend/.env.production b/frontend/.env.production index 7578e882..58fe7f33 100644 --- a/frontend/.env.production +++ b/frontend/.env.production @@ -1,2 +1,2 @@ NODE_ENV='production' -VUE_APP_BASE_URL='http://crawlab.cn:8000/api' +VUE_APP_BASE_URL='http://114.67.75.98:8000/api' diff --git a/frontend/.env.test b/frontend/.env.test new file mode 100644 index 00000000..acff44de --- /dev/null +++ b/frontend/.env.test @@ -0,0 +1,2 @@ +NODE_ENV='test' +VUE_APP_BASE_URL='http://114.67.75.98:8000/api'