Skip to content
Snippets Groups Projects
Select Git revision
  • 729cd3cf49e21530a593365f7b18236eaeb3afa8
  • master default protected
  • variable-overriding
  • variable-substitution
4 results

.gitlab-ci.yml

Blame
  • Forked from GitLab Tests / Pages Test
    Source project has a limited visibility.
    .gitlab-ci.yml 1.15 KiB
    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
      script:
        - sed -i "s/%%BRANCH%%/$CI_COMMIT_BRANCH/g" src/index.html
        - mv src public
        - 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_NAMESPACE.$CI_PAGES_DOMAIN/-/$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: