Aldebaran

人生最棒的感觉,就是你做到别人说你做不到的事。

0%

开启 GitLab-pages服务

三田寺円

什么是Gitlab-pages

了解 GitLab-pages之前,我们先介绍一下 Github Pages。

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默 认提供的域名 github.io 或者自定义域名来发布站点。Github Pages 支持 自动利用 Jekyll 生成站点,也同样支持纯 HTML 文档,将你的 Jekyll 站 点托管在 Github Pages 上是一个不错的选择。

GitLab-pages是Github Pages的开源实现。

Gitlab Runner是Gitlab持续集成(Gitlab CI)的执行器,它执行定义在 .gitlab-ci.yml 中的命令或任务。 它们是独立的(虚拟)机器,通过Gitlab CI的协作API来获取任务。 一个Runner可以是指定用于一个特定的项目,也可以服务于Gitlab CI中的任意项目。

解析泛域名

解析一个泛域名,给域名之后会用来配置gitlab-pages的自定义域名,比如这里解析的是<pages.gitlab.XXXXXXX.com>,那么之后的gitlab-pages的自定义域名可能是<cx.pages.gitlab.XXXXXXX.com>。

00

docker

假设已经安装好GitLab(不管是什么方式安装,这里假设是使用docker安装的GitLab)

假设已经安装好docker和docker-compose

  • 安装gitlab-runner

      $ sudo mkdir /data/gitlab/gitlab-runner
      # 编写docker-compose.yml
      $ vim /etc/docker/compose/compose_gitlab/docker-compose.yml
    
      version: "3.6"
      services:
      gitlab:
          image: 'gitlab/gitlab-ce:11.4.4-ce.0'
          restart: always
          hostname: 'gitlab.XXXXXXX.com'
          ports:
          - "9090:9090"
          - "80:80"
          - '443:443'
          - '22:22'
          volumes:
          - '/data/gitlab/config:/etc/gitlab'
          - '/data/gitlab/logs:/var/log/gitlab'
          - '/data/gitlab/data:/var/opt/gitlab'
      gitlab-runner:
          image: 'gitlab/gitlab-runner:v11.5.0'
          restart: always
          volumes:
          - '/srv/gitlab-runner/config:/data/gitlab/gitlab-runner'
          - '/var/run/docker.sock:/var/run/docker.sock'
    
  • 修改gitlab配置文件

      $ vim /data/gitlab/config/gitlab.rb
      ...
      pages_external_url "http://pages.gitlab.XXXXXXX.com/"
      gitlab_pages['enable'] = true
      gitlab_pages['inplace_chroot'] = true
      ...
      pages_nginx['enable'] = true
      ...
      gitlab_rails['pages_path'] = "/var/opt/gitlab/storage_pages"
      ...
    

    修改完配置需要重新加载配置(如果storage_pages这个目录没有生成可以手动创建)

      $ docker exec -it f17fa15169b0 gitlab-ctl reconfigure
    

GitLab

这里的GitLab的版本是11.4.4

  • 新建一个测试Repository,修改Repository的访问权限为公开

    01

  • 在新建的仓库内添加.gitlab-ci.yml

    这里将参考https://gitlab.com/pages里面的 gitbook项目。

    02

    在新建的仓库内提交.gitlab-ci.yml,以及其他的md文件

    03

    04

  • 记下token

    这个token需要给GitLab Runner注册的时候使用

    05

    06

GitLab Runner

这里的token和URL就是上面

$ sudo docker exec -it 111a15169b0 gitlab-runner register

07

运行GitLab CI/CD

重新运行之前的pipline或者提交一个commit

08

09

如果上面的都成功那么恭喜你,这个时候你可以打开链接查看。

10