本地搭建的GitLab中开启Pages功能,不需要域名也可以 – 大席的博客

本地搭建的GitLab中开启Pages功能,不需要域名也可以

最近在公司内部,我负责搭建了GitLab服务,开启了从SVN逐步转到GIT的路程。目前自建的GitLab运行状态良好,非常好用。但是默认的GitLab并没有开启Pages服务,这样的话在编写项目说明文档时,就很不方便了。于是自己试着在本地搭建的GitLab中开启Pages功能,下面把开启过程和遇到的问题记录下来,分享给大家。

1、开启GitLab Pages功能

编辑 /etc/gitlab/gitlab.rb文件,修改如下两行

注意的这里的pages_external_url,配置的是Pages使用的域名。如果你没有域名,就先随便写个主机名什么的。之后我们可能通过配置Nginx来解决。

※注意,最好通过 gitlab-ctl restart 重启GitLab,使得GitLab Pages功能生效。

2、安装配置GitLab Runner

为了能够自动发布Pages,我们需要安装GitLab Runner,然后通过GitLab CI做到Pages内容的自动更新。

由于网络环境不稳定,所以建议不要使用yum方式安装Runner,可以点击下面的链接下载GitLab Runner的安装包。

https://packages.gitlab.com/runner/gitlab-runner

安装好之后,就可以通过命令为我们的项目添加runner了,在命令行中输入以下命令,按照提示一步一步完成即可。

其中需要填写URL和Token,可以在GitLab项目的settings->CI/CD->Runners settings中找到,类似下图:

本地搭建的GitLab中开启Pages功能,不需要域名也可以

3、配置Pages服务的CI

在工程根目录下,创建.gitlab-ci.yml文件,文件内容可以通过GitLab内置的模板生产,如下图:

这里选择HTML为例,就生产了以上代码。其中cp -r docs/. .public这句根据需要修改,将docs改为你存放pages页面的路径即可。

这样,当我们每次执行push动作后,就会触发pages的自动部署。将我们的pages页面发布到GitLab Pages服务中。

4、如何访问Pages页面呢?

如果你有在上面配置开启Pages时配置了域名了,那么直接访问:http://你的Git账号.域名/工程名,例如:

http://xiaowang.mypages.com/project01

但是如果你不想那么麻烦还得配置域名的话,这里也有解决方法,由于GitLab Pages服务是部署到Nginx中,我们可以同配置Nginx来通过IP地址访问。

首先要找啊找,找到Pages的发布位置,和GitLab内置Nginx的位置,分别如下:

1、Pages部署目录:/var/opt/gitlab/gitlab-rails/shared/pages

2、内置Nginx目录:/var/opt/gitlab/nginx

然后编辑nginx目录下的conf/gitlab-pages.conf文件,内容如下:

配置好后重启Nginx:gitlab-ctl restart nginx

访问页面:http://IP:端口/gitlab账号/工程名/public/,例如:http://10.21.100.200:6869/xiaowang/project01/public/#/

本文作者:大席
首发网站:大席的博客
版权声明:本博客所有文章除特别声明外,均为原创作品,转载请附带本段文字并注明本文出处

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注