在之前的文章建站过程中有提到用 github + hexo 来建站,但是因为百度搜索爬虫不能直接爬 github pages,本次采用 gitlab 建立镜像网站,这样就可以让百度能够搜索的到。
# DNS
首先跟之前一样 github 的 dns 记录一样,添加两条记录:域名网址和 www 域名网址,然后类型 CNAME,线路类型百度,记录值填对应的 gitlab pages 的网址。这样百度爬虫会被导向 gitlab 上面。
# gitlab 设置
来源:https://www.jianshu.com/p/c42835a5a64f
在 Gitlab 创建一个 repository,名字为 xxx.gitlab.io,xxx 就是你的 Gitlab 用户名。
git init | |
git remote add origin git@gitlab.com:xxx/xxx.gitlab.io.git |
注意:如果 themes 下的主题是 git clone 下来,那么会自带.git 文件夹,推送到 gitlab 上时不会推送源文件,在 git add 前务必将使用 themes 的.git 删掉。如果不小心 add 上了,请执行一下命令清理缓存再重新 add 文件:
git rm -r --cached . |
然后再博客根目录下创建 .gitlab-ci.yml
, 内容参考:https://gitlab.com/pages/hexo/blob/master/.gitlab-ci.yml
image: node: #最新版本 | |
cache: | |
paths: | |
- node_modules/ | |
before_script: | |
- npm install hexo-cli -g | |
- test -e package.json && npm install | |
- export HEXO_ALGOLIA_INDEXING_KEY=xxx #xxx = 你的 algolia admin key | |
- hexo algolia #如果装了 algolia 的话 | |
- hexo generate | |
pages: | |
script: | |
- hexo generate | |
artifacts: | |
paths: | |
- public | |
rules: | |
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH |
git 推送到远程仓库之后,GitLab CI 会自动开始运行,构建成功以后稍等几分钟,打开 https://xxx.gitlab.io 应该就能看到自己的博客了。
如果想隐藏博客源码,又不想影响博客的正常访问,可以在仓库的 Settings -> General -> Visibility, project features, permissions 里面将仓库权限 Project visibility
设置为 private,然后把下面的 Pages 选项改为 Everyone。
# Gitlab pages 的个人域名 https 搭配 dnspod 签发的证书
需要在 pages 的选项下,建自已的 Pages Domain,然后再 Certificate 选项填写对应的密文:
Certificate (PEM) : 放入 xxx_bundle.pem 中的内容,所有都要填写。因为是通过中级 CA 机构颁发的证书,拿到的证书文件包含多份证书。
Key (PEM) : 放入 xxx.key 中的内容。
然后就可以打开 https 对应的链接了
# 附言:bash 脚本
@echo on | |
cmd /c hexo clean | |
cmd /c hexo g | |
cmd /c set HEXO_ALGOLIA_INDEXING_KEY=xxx #xxx = 你的 algolia admin key | |
cmd /c hexo algolia | |
cmd /c hexo d | |
cmd /c git add . | |
cmd /c git commit -m "upload file %DATE%_%TIME%" | |
cmd /c git push | |
pause |