mirror of https://gitlab.com/curben/blog
40 lines
858 B
YAML
40 lines
858 B
YAML
# Use latest version of Node.js
|
|
image: node:latest
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
|
|
cache: # add cache to 'node_modules' for speeding up builds
|
|
paths:
|
|
- node_modules/ # Node modules and dependencies
|
|
|
|
build-job:
|
|
stage: build
|
|
script:
|
|
- npm install -g hexo-cli snyk
|
|
- npm install
|
|
- snyk auth $SNYK_TOKEN
|
|
only:
|
|
- master # job will affect only the 'master' branch
|
|
|
|
snyk-test:
|
|
stage: test
|
|
script:
|
|
- snyk test # Test node modules for vulnerability
|
|
only:
|
|
- master
|
|
|
|
pages:
|
|
stage: deploy
|
|
script:
|
|
- snyk protect # Apply patches to node modules
|
|
- hexo deploy # deploy the site
|
|
- find public -type f -iregex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -execdir gzip -f --keep {} \; # Compress files
|
|
artifacts:
|
|
paths:
|
|
- public # deploy to the 'public' folder
|
|
only:
|
|
- master
|
|
when: on_success |