本地搭建的GitLab中开启Pages功能

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

1、开启GitLab Pages功能

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

##! Define to enable GitLab Pages
pages_external_url "http://R7102/"
gitlab_pages['enable'] = true

注意的这里的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了,在命令行中输入以下命令,按照提示一步一步完成即可。

gitlab-runner register

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

52f8c7f53da1ab5708b0c1262b15126a5c2.jpg

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文件,内容如下:

server {
  listen 6869; ## 端口根据需要填写
  server_name 10.21.100.200; ## IP根据实际情况填写
  server_tokens off; ## Don't show the nginx version number, a security best practice
 
  ## Disable symlink traversal
  disable_symlinks on;
 
  access_log  /var/log/gitlab/nginx/gitlab_pages_access.log gitlab_access;
  error_log   /var/log/gitlab/nginx/gitlab_pages_error.log;
 
  # Pass everything to pages daemon
  location / {
    # 指向pages的发布目录
    root /var/opt/gitlab/gitlab-rails/shared/pages;
    index index.html;
  }
 
  # Define custom error pages
  error_page 403 /403.html;
  error_page 404 /404.html;
}

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

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

转载于:https://my.oschina.net/doctorlzr1988/blog/3044964

本文转自 https://blog.csdn.net/weixin_34304013/article/details/92671899,如有侵权,请联系删除。

标题: 本地搭建的GitLab中开启Pages功能

链接: https://zhiyong0389.github.io/2023/01/12/gitlab-pages/

版权声明: 若无特殊标注皆为 智勇 原创版权, 转载请以链接形式注明作者及原始出处

最后编辑时间: 2023-06-29

本站由免费云加速(FreeCDN)提供网站加速和攻击防御服务