达夕博客
  • 首页
  • 软件工具
    • 提高生产力
    • 数字化办公
    • 智能手机
    • 开发工具
  • 技术编程
  • 互联网
  • 关于
  1. 首页
  2. 软件工具
  3. 正文

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

2018年05月17日 10227点热度 1人点赞 1条评论

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

1、开启GitLab Pages功能

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

开启GitLab Pages功能
1
2
3
##! 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
1
gitlab-runner register

其中需要填写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文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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/#/

标签: GitLab Nginx Pages 域名
最后更新:2018年05月17日

达夕

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

  • 头像
    Vivian

    如果工程仓库是在Group中的呢? 访问页面又是什么?

    2019年07月26日
    回复
  • 取消回复

    最新 热点 随机
    最新 热点 随机
    Intellij Idea 2020.3.1无限试用激活补丁 PDF全能解决方案Adobe Acrobat DC 2020 SP 直装特别版 IntelliJ IDEA 开发助手插件DevHelper 1.0.2版本发布 IntelliJ IDEA 开发助手插件DevHelper发布啦,充分提高工作效率 全能数据库管理工具Navicat 15 旗舰版x64位安装激活 Redis可视化工具Redis Desktop Manager 2020.2下载 v2ray启动报code=exited, status=218/CAPABILITIES错误的解决方法 Adobe Photoshop 2020 V21.1.0.106 绿色特别版
    IntelliJ Idea最新版2019.3.3激活方法Windows安装版Redis Desktop Manager 2019.4下载PowerDesigner 16.6的安装破解资源下载Windows安装版Redis Desktop Manager 2019.5下载Adobe Photoshop 2020 V21.1.0.106 绿色特别版三步完成PowerDesigner 16.5的安装破解汉化Sublime Text 3 最新版3176激活方法Beyond Compare最新特别版4.2.6.23150下载
    值得珍藏:印象笔记Evernote中进行高级搜索的语法分享 最新版Mac用Shadowsocks客户端下载 我的印象笔记Evernote中的生活清单和工作清单 [转]終於更新! Google Drive 可以選擇性同步子資料夾了 让Google Drive和Dropbox同步同一个文件夹 Spring Boot打war包发布亲测可用 国内优秀的同步云盘:坚果云五大特色使用体验 第一时间更新印象笔记:大幅提升操作效率
    标签聚合
    Evernote 敏捷开发 Google Drive Dropbox Windows 10 印象笔记 IntelliJ Idea 激活 Google Chrome iPhone
    推荐文章

    COPYRIGHT © 2020 达夕博客. ALL RIGHTS RESERVED.

    THEME KRATOS MADE BY VTROIS