35 lines
735 B
YAML
35 lines
735 B
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build:
|
|
stage: build
|
|
image: node:20-alpine
|
|
script:
|
|
- npm ci
|
|
- npm run build
|
|
artifacts:
|
|
paths:
|
|
- dist/
|
|
expire_in: 1 hour
|
|
only:
|
|
- main
|
|
|
|
deploy:
|
|
stage: deploy
|
|
image: alpine:latest
|
|
before_script:
|
|
- apk add --no-cache rsync openssh-client
|
|
- eval $(ssh-agent -s)
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
|
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
|
|
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
|
|
- chmod 644 ~/.ssh/known_hosts
|
|
script:
|
|
- rsync -avz --delete dist/ $DEPLOY_USER@$DEPLOY_HOST:/var/www/domains/gateway-gamers.net/kingmaker/
|
|
only:
|
|
- main
|
|
environment:
|
|
name: production
|
|
url: https://kingmaker.gateway-gamers.net
|