本篇简单的介绍一下如何使用gitlab搭建jekyll静态blog。感兴趣的可以看看。

这里使用的是当前 blog 模板,各位可以做个参考。

使用到的工具

  • ruby
  • gccg++make(部分包需要本地编译)
  • bundler
  • jekyll

为了编译的速度以及节省时间,我使用了 node:10-alpinedocker镜像。

在开始的时候,我们需要将一些必需文件进行安装。

为了安装速度,我们可以选择使用国内源,比如淘宝源码 改用清华大学源靠谱

Ruby修改国内源方式为在Gemfile文件头部增加清华源地址:

# source 'https://rubygems.org'
source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems/'

apk 包管理同样使用清华源修改源方式为:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

(我们可以将该命令放置在CI文件里)

.gitlab-ci.yml

CI 文件:

image: node:10-alpine # use nodejs v10 LTS
cache:
  key: ${CI_COMMIT_REF_NAME}
  paths:
    - node_modules/

before_script:
  - sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
  - apk add ruby ruby-dev openssl-dev gcc g++ make zlib-dev git
  - gem install bundler

pages:
  script:
    - bundle install
    - bundle exec jekyll build
    - mv _site public
    # - bundle exec htmlproofer ./_site --check-html
  artifacts:
    paths:
      - public
  only:
    - master

为了成功编译出静态blog,我们先在before_script进行必要的一些工具的安装。

pages 项目里,artifacts.paths_site为当前项目生成的静态blog目录,部分模板生成目录为public。请根据实际情况进行修改。

pages 项目里,artifacts.pathspublic为当前项目生成的静态blog目录,必须为 public

参考链接: