blog/.gitlab-ci.yml

90 lines
2.0 KiB
YAML

image: shockrah/website:latest
stages:
- build
- deploy
include:
- local: 'ci/builders.yml'
################## ################## ##################
# ============== # Build Stage Jobs # ============== #
################## ################## ##################
build-neocities:
stage: build
extends: .builder
script:
- hugo --config configs/neocities.toml
build-pages:
stage: build
extends: .builder
script:
# Build the base config first
- hugo --config configs/pages.toml
# Next we fix the path to the font
- sed -i 's/\/media/\/shockrah-city\/media/g' public/css/style.css
build-shockrah.xyz:
stage: build
extends: .builder
script:
# Main config is found in the root of this project dir
- hugo
# Make sure to expire these artifacts as they are only needed per deployment
artifacts:
expire_in: 1 week
paths:
- public/
################## ################## ##################
# ============== # Deploy Stage Jobs # ============== #
################## ################## ##################
# Deploys the gitlab Page
pages:
stage: deploy
needs:
- build-pages
dependencies:
- build-pages
script:
- echo Dummy echo for pages job
artifacts:
paths:
- public/
# Deploys to the main blog
# TODO: make sure this works with the latest infrastructure as the
# server is used to deploy to is now gone
#deploy-shockrah.xyz:
# stage: deploy
# image: shockrah/ansible:latest
# needs:
# - build-shockrah.xyz
# dependencies:
# - build-shockrah.xyz
# before_script:
# - eval "$(ssh-agent -s)"
# - echo "${CI_USER_KEY}" | tr -d '\r' | ssh-add -
# - mkdir -p ~/.ssh/
# - chmod 700 ~/.ssh/
# - ssh-keyscan shockrah.xyz 2>&1 >> ~/.ssh/known_hosts
# - chmod 644 ~/.ssh/known_hosts
# script:
# - ansible-playbook -i $INVENTORY scripts/deploy-blog.yml
# Deploy to neocities via their curl api
deploy-neocities:
stage: deploy
needs:
- build-neocities
when: manual
dependencies:
- build-neocities
script:
- bash scripts/neocities.sh