image: alpine:latest # Only run pipelines for pushes on branches workflow: rules: - if: $CI_COMMIT_BRANCH # We can't deploy multiple different variants of GitLab Pages sites (e.g. one # per branch), so we use this quick instead. GitLab has a special browsable URL # for job artifacts on public projects, and we can create an Environment that # points to that URL so it's easy for devs to know what the current Environment # URL for their branch is. .deploy: stage: deploy tags: - docker # variables: # ROOT_RELATIVE_NAMESPACE: "${CI_PROJECT_NAMESPACE#$CI_PROJECT_ROOT_NAMESPACE}" script: - sed -i "s/%%BRANCH%%/$CI_COMMIT_BRANCH/g" src/index.html - mv src public - echo $SHELL - echo $ROOT_RELATIVE_NAMESPACE - echo $CI_ENVIRONMENT_URL - printenv artifacts: paths: - public/ # Deploy a review environment for any push to a branch that is not the default # branch review: extends: .deploy rules: - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH environment: name: "review $CI_COMMIT_BRANCH" url: "https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-${ROOT_RELATIVE_NAMESPACE}/${CI_PROJECT_NAME}/-/jobs/$CI_JOB_ID/artifacts/public/index.html" # Deploy to GitLab Pages for pushes on the default branch pages: extends: .deploy rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # vi: set ts=2 sw=2 et ft=yaml: