.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 hourHugo
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 hourAsciidoctor
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 hourHTML
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