diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..466bc61 --- /dev/null +++ b/.gitignore @@ -0,0 +1,64 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +#build/Release +release-builds + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history +dist/app* +dist/make* +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +/node_modules +node_modules + +# testing +/coverage + +# production +/build +build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +build/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..358bfd1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +image: node:8.11.4 +stages: + - setup + - build + - deploy + - cleanup + +setup: + only: master + tag: prod + script: + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - npm cache clean --force + - rm -rf node_modules + - export SSH_U=$(echo $SSH_USER) + - export SSH_S=$(echo $SSH_SERVER) + - npm install --save + +build: + stage: build + only: master + tag: prod + script: + - npm run build + +deploy: + stage: deploy + only: master + tag: prod + script: + - export c=$PWD + - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $SSH_U@$SSH_S 'rm -rf $HOME/wbm/*' + - scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r $c/build/* $SSH_U@$SSH_S:/home/$SSH_U/wbm + environment: + name: production + url: https://wbm.lucajaents.ch + +cleanup: + tag: prod + stage: cleanup + script: + - rm -rf ./*