32 lines
632 B
YAML
32 lines
632 B
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build site:
|
|
image: node:lts
|
|
stage: build
|
|
script:
|
|
- cd app
|
|
- npm ci --cache .npm --prefer-offline
|
|
- npm run build
|
|
cache:
|
|
key: ${CI_COMMIT_REF_SLUG}
|
|
paths:
|
|
- app/.npm
|
|
artifacts:
|
|
paths:
|
|
- app/dist
|
|
|
|
deploy site:
|
|
image: instrumentisto/rsync-ssh
|
|
stage: deploy
|
|
only:
|
|
refs:
|
|
- master
|
|
script:
|
|
- mkdir ~/.ssh
|
|
- echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts
|
|
- chmod 644 ~/.ssh/known_hosts
|
|
- eval $(ssh-agent -s)
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
|
- rsync -vr -e "ssh -p ${SSH_PORT}" app/dist/ "${DEPLOY_DEST}"
|