Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 4.41 KiB
# In case something goes horribly wrong, you can fall back to `image: ruby:2.5`
image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb:1.4

stages:
  - build
  - generate_index
  - deploy

# !!!!!!!      README      !!!!!
# We are in the transition period - and the website is deployed two times - to gitlab pages and to a separate VM
# In order to migrate to a new deployment:
#  1) remove "Old deployment" section - build_pages, generate the search index and pages tasks
#  2) rename "new pages" to "pages" in the new deployment section, and "new_public" to "public"; you might also rename directories (skip "new" part)
#  3) remove ".ci/deploy.sh", ".ci/build_indices.sh"


# Old deployment =================================================================

build_pages:
  stage: build
  before_script:
    - apt-get -qq update
    - apt-get install -y -qq git-lfs
    - gem install bundler:2.0.2 && bundle install  
  script:
    - bash .ci/deploy.sh
  variables:
    JEKYLL_ENV: production
  artifacts:
    expire_in: 1 day
    paths:
      - build


generate the search index:
  stage: generate_index
  image: node:13.8.0-slim
  rules:
    - if: $CI_COMMIT_BRANCH == "master"
    - if: $CI_COMMIT_BRANCH == "develop"
  script:
    - bash .ci/build_indices.sh
    - mv build processed_build
  artifacts:
    expire_in: 1 day
    paths:
      - processed_build

pages:
  image: alpine:3.11.3
  stage: deploy
  rules:
    - if: $CI_COMMIT_BRANCH == "master"
    - if: $CI_COMMIT_BRANCH == "develop"
  script:
    - mv processed_build public
  artifacts:
    expire_in: 1 week
    paths:
      - public


# New deployment ==================================================================

build pages for VM deployment:
  stage: build
  variables:
    JEKYLL_ENV: production
    BUNDLER_VERSION: 2.0.2
  artifacts: