blog/.gitlab-ci.yml
Matej Focko bac4725aca
ci: use ‹extends›
Signed-off-by: Matej Focko <me@mfocko.xyz>
2023-07-08 12:24:42 +02:00

99 lines
1.7 KiB
YAML

.build:
before_script:
# Handle the Yarn
- echo 'yarn-offline-mirror ".yarn-cache/"' >> .yarnrc
- echo 'yarn-offline-mirror-pruning true' >> .yarnrc
- yarn install --frozen-lockfile --no-progress
# Install the dependencies for alpine
- apk update && apk add make graphviz zip
.deploy:
before_script:
# Install the dependencies for alpine
- apk update && apk add make openssh rsync
# Prepare environment for SSH
- mkdir -p ~/.ssh
- ln -s $SSH_CONFIG ~/.ssh/config
- ln -s $SSH_KEY ~/.ssh/id_ed25519
- ln -s $SSH_KNOWN_HOSTS ~/.ssh/known_hosts
- chmod 600 ~/.ssh/config ~/.ssh/id_ed25519 ~/.ssh/known_hosts
default:
image: node:current-alpine3.15
cache:
key:
files:
- yarn.lock
paths:
- .yarn-cache/
stages:
- build
- deploy
build:poincare:
stage: build
extends: .build
script:
# Regenerate the static files
- make regenerate-dots
- make regenerate-zips
- URL="https://blog.mfocko.xyz" BASE_URL="/" yarn run build
artifacts:
paths:
- "build/"
build:aisa:
stage: build
extends: .build
script:
# Regenerate the static files
- make regenerate-dots
- make regenerate-zips
- URL="https://fi.muni.cz" BASE_URL="~xfocko/kb/" yarn run build
artifacts:
paths:
- "build/"
deploy:poincare:
stage: deploy
needs: build:poincare
extends: .deploy
script:
- rsync -avzrlpptv --delete build/ poincare:~/public_html/blog/
artifacts:
paths:
- "build/"
only:
- main
deploy:aisa:
stage: deploy
needs: build:aisa
extends: .deploy
script:
- rsync -avzrlpptv --delete build/ aisa:~/public_html/kb/
artifacts:
paths:
- "build/"
only:
- main