mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2025-09-14 09:35:04 +00:00
73 lines
1.5 KiB
YAML
73 lines
1.5 KiB
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build:
|
|
stage: build
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:v1.23.2-debug
|
|
entrypoint: [""]
|
|
script:
|
|
- >
|
|
/kaniko/executor
|
|
--context "${CI_PROJECT_DIR}"
|
|
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
|
|
--destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_BRANCH}"
|
|
--cleanup
|
|
|
|
staging:
|
|
stage: deploy
|
|
image: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_BRANCH}
|
|
script:
|
|
- echo "Building the main website with Quarto..."
|
|
- quarto render --to html --output-dir public
|
|
- echo "Building Ghost-optimized version..."
|
|
- quarto render --profile ghost --to html --output-dir public/ghost-content
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
|
|
deploy:
|
|
stage: deploy
|
|
script:
|
|
- echo "Publishing site..."
|
|
needs:
|
|
- staging
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
|
|
# Branch preview deployment (for testing)
|
|
preview:
|
|
stage: deploy
|
|
script:
|
|
- echo "Deploying branch preview..."
|
|
- echo "Preview available at preview URL"
|
|
needs:
|
|
- job: staging
|
|
optional: true
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
environment:
|
|
name: preview/$CI_COMMIT_REF_SLUG
|
|
url: https://${CI_PROJECT_PATH_SLUG}-${CI_COMMIT_REF_SLUG}.gitlab.io
|
|
rules:
|
|
- if: "$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH"
|
|
|
|
# GitLab Pages deployment (only on main branch)
|
|
pages:
|
|
stage: deploy
|
|
script:
|
|
- echo "Publishing to GitLab Pages..."
|
|
needs:
|
|
- deploy
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
rules:
|
|
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
|
|
|
|
include:
|
|
- local: ghost-upload/.gitlab-ci.yml
|