diff options
author | Alan Pearce | 2024-06-01 19:20:48 +0200 |
---|---|---|
committer | Alan Pearce | 2024-06-01 19:38:22 +0200 |
commit | a6f897981be14bb9cb46033a6769a7417ed73337 (patch) | |
tree | 37244dbb235fe986fd92b9ef681d98b89fed2552 | |
parent | c5d70ac784a3374eb42fc6d8d36a896ada587002 (diff) | |
download | zola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.tar.lz zola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.tar.zst zola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.zip |
add support for deploying to Gitlab pages
-rw-r--r-- | .gitlab-ci.yml | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..040380f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,53 @@ +stages: + - deploy + +default: + image: debian:stable-slim + +variables: + # The runner will be able to pull your Zola theme when the strategy is + # set to "recursive". + GIT_SUBMODULE_STRATEGY: "recursive" + + # If you don't set a version here, your site will be built with the latest + # version of Zola available in GitHub releases. + # Use the semver (x.y.z) format to specify a version. For example: "0.17.2" or "0.18.0". + ZOLA_VERSION: + description: "The version of Zola used to build the site." + value: "" + +pages: + stage: deploy + script: + - | + apt-get update --assume-yes && apt-get install --assume-yes --no-install-recommends wget ca-certificates + if [ $ZOLA_VERSION ]; then + zola_url="https://github.com/getzola/zola/releases/download/v$ZOLA_VERSION/zola-v$ZOLA_VERSION-x86_64-unknown-linux-gnu.tar.gz" + if ! wget --quiet --spider $zola_url; then + echo "A Zola release with the specified version could not be found."; + exit 1; + fi + else + github_api_url="https://api.github.com/repos/getzola/zola/releases/latest" + zola_url=$( + wget --output-document - $github_api_url | + grep "browser_download_url.*linux-gnu.tar.gz" | + cut --delimiter : --fields 2,3 | + tr --delete "\" " + ) + fi + wget $zola_url + tar -xzf *.tar.gz + ./zola build + + artifacts: + paths: + # This is the directory whose contents will be deployed to the GitLab Pages + # server. + # GitLab Pages expects a directory with this name by default. + - public + + rules: + # This rule makes it so that your website is published and updated only when + # you push to the default branch of your repository (e.g. "master" or "main"). + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH |