2016-08-15 20:28:23 +02:00
stages :
2016-09-15 21:32:14 +02:00
- build
- cleanup_build
2017-03-07 04:16:22 +01:00
- deploy
2017-03-14 23:46:57 +01:00
- cleanup
2016-08-15 20:28:23 +02:00
2016-09-15 21:32:14 +02:00
build_job :
stage : build
script :
- npm install
2017-03-14 17:39:09 +01:00
- npm run build
2016-09-15 21:32:14 +02:00
tags :
- javascript
except :
- tags
artifacts :
paths :
2017-03-14 17:39:09 +01:00
- dist
2016-09-21 02:31:42 +02:00
expire_in : 30 min
2016-08-15 20:28:23 +02:00
2016-09-15 21:32:14 +02:00
cleanup_build_job :
stage : cleanup_build
script :
- rm -rf node_modules
2017-03-14 17:39:09 +01:00
- rm -rf dist
2016-09-15 21:32:14 +02:00
when : on_failure
2016-08-15 20:28:23 +02:00
2017-03-07 04:12:52 +01:00
pages :
2017-03-14 00:21:43 +01:00
stage : deploy
environment : staging
2017-03-07 04:12:52 +01:00
except :
- tags
- master
script :
2017-03-14 17:39:09 +01:00
- mv dist public
2017-03-07 04:12:52 +01:00
artifacts :
paths :
- public
dependencies :
- build_job
2016-08-15 20:28:23 +02:00
production :
stage : deploy
environment : production
only :
- master
2017-03-14 23:46:57 +01:00
script :
2017-03-14 23:54:42 +01:00
- if [[ -z "${WWW_DEPLOY_ROOT_PRODUCTION}" ]] ; then echo "WWW_DEPLOY_ROOT_PRODUCTION is not set" ; exit 1 ; fi
- if [[ ! -d "${WWW_DEPLOY_ROOT_PRODUCTION}" ]] ; then mkdir -p "${WWW_DEPLOY_ROOT_PRODUCTION}" || die "Failed to create target directory for deployment!" ; fi
2017-03-14 23:46:57 +01:00
- cp dist/* "${WWW_DEPLOY_ROOT_PRODUCTION}"
2016-08-15 20:28:23 +02:00
2017-03-14 23:46:57 +01:00
cleanup_job :
stage : cleanup
script :
- rm -rf node_modules
when : always