34 lines
733 B
YAML
34 lines
733 B
YAML
image: node:24.15-trixie-slim
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build:
|
|
stage: build
|
|
rules:
|
|
- if: $CI_RELEASE_DESCRIPTION
|
|
script:
|
|
- corepack enable
|
|
- corepack prepare pnpm --activate
|
|
- pnpm install --frozen-lockfile
|
|
- pnpm build
|
|
artifacts:
|
|
paths:
|
|
- dist/
|
|
expire_in: 7 days
|
|
|
|
deploy:
|
|
stage: deploy
|
|
rules:
|
|
- if: $CI_RELEASE_DESCRIPTION
|
|
needs:
|
|
- build
|
|
script:
|
|
- apt-get update -qq && apt-get install -y -qq openssh-client rsync
|
|
- mkdir -p ~/.ssh
|
|
- echo "$SSH_PRIVATE_KEY_BASE64" | base64 -d > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
|
|
- rsync -avz --delete dist/ "${SSH_USER}@${DEPLOY_HOST}:${DEPLOY_PATH}"
|