Go to navigation

.gitlab-ci.yml

PagesFIT provides several sample .gitlab-ci.yml configurations for a quicker start. To configure your project, follow the procedure described in Configuration and choose one of the .gitlab-ci.yml configurations below.

Jekyll

For more information, see the official Jekyll documentation and the documentation for our jekyll image.

pages:
  stage: deploy
  image: {gl-registry-url}/ict/images/jekyll:4.2
  cache:
    key: gems
    paths:
      - .gems/
  before_script:
    # Install additional dependencies with Bundler, if needed.
    - test -f Gemfile && bundle install
    # FIT_PAGES_* variables are exported by the jekyll image.
    # They are computed based on the project's path and 'domain' in .fit-pages.yml.
    - 'printf "%s\n" "url: https://$FIT_PAGES_DOMAIN" "baseurl: $FIT_PAGES_BASE_PATH" > _config_ci.yml'
  script:
    # Build the site into the public/ directory using configuration from your _config.yml
    # and the _config_ci.yml generated above.
    - jekyll build --config _config.yml,_config_ci.yml -d public/
    # .fit-pages.yml must be copied into public/.
    - cp .fit-pages.yml public/
  artifacts:
    paths:
      - public/
    expire_in: 1 hour

Hugo

For more information, see the official documentation.

pages:
  stage: deploy
  image: {alpine-image-ci-latest}
  variables:
    GIT_SUBMODULE_STRATEGY: normal
  before_script:
    - apk add hugo
  script:
    - hugo
    # .fit-pages.yml must be copied into public/
    - cp .fit-pages.yml public/
  artifacts:
    paths:
      - public/
    expire_in: 1 hour

Asciidoctor

For more information, see the official documentation.

pages:
  stage: deploy
  image: {alpine-image-ci-latest}
  before_script:
    - apk add asciidoctor
  script:
    - mkdir -p public/
    # Do whatever you need to generate static content for your website, for example:
    - asciidoctor --destination-dir public/ *.adoc
    # .fit-pages.yml must be copied into public/
    - cp .fit-pages.yml public/
  artifacts:
    paths:
      - public/
    expire_in: 1 hour

HTML

Place HTML and any other files that should be available on PagesFIT directly into the /public directory in your repository.

pages:
  stage: deploy
  image: {alpine-image-ci-latest}
  script:
    # .fit-pages.yml must be copied into public/
    - cp .fit-pages.yml public/
  artifacts:
    paths:
      - public/
    expire_in: 1 hour