最近DevOps非常火, 而GitLab作为其中重要一环, 也越来越受重视, 与SVN相比, GitLab同样提供完美的用户权限管理, 与Git相比, 除了涵盖Git所有功能, 同时又提供方便的后台管理, 非常适合企业使用, 下面简单介绍下GitLab的搭建, 当然, 官方文档有提供相应的方法, 但实际操作过程中, 并没有那么顺利.

1. 安装相关依赖

yum install curl policycoreutils openssh-server openssh-clients -y
# 确保sshd启动(正常情况下, sshd是启动的)
systemctl enable sshd
systemctl start sshd

另外如果开启了防火墙, 注意设置防火墙的规则

2. 引入yum源, 并安装gitlab

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce -y
# 配置并启动
gitlab-ctl reconfigure

如果设备配置比较低, 会在启动过程中卡死, 建议最低双核2G内存

如果当前服务器的808080端口均未被占用, 则直接可以通过服务器的ip或域名访问到后台

http://ip或域名

3. 使用主机的nginx

一般情况下, 我们希望通过自己nginx统一管理站点, 而不需要使用gitlab附带的, 这个时候我们要停用gitlabnginx, 并配置我们自己的反向代理, 配置文件大致是这样

server {listen   80;server_name   gitlab.yinnote.com;location / {proxy_pass  http://127.0.0.1:18080;}
}

之后, 我们在修改gitlab的配置文件

vi /etc/gitlab/gitlab.rb# 依次找到修改
# 指定host地址
external_url 'http://gitlab.yinnote.com'
# 修改时区
gitlab_rails['time_zone'] = 'PRC'
# 关闭附带的nginx
nginx['enable'] = false

如果我们的8080端口也被其他程序占用了, 比如说我们有启动着的tomcat, 那么, 我们还需要修改unicorn的端口

# 同样找到并修改
unicorn['port'] = 18080

之后就可以重新加载配置文件并重启服务了

gitlab-ctl reconfigure
gitlab-ctl restart

正常情况下, 我们应该可以通过 http://gitlab.yinnote.com 访问到后台, 但实际情况会出现错误

坑 1

这种情况, 我们只要重新执行一下npm安装依赖包即可

cd /opt/gitlab/embedded/service/gitlab-rails
npm install
# 重启服务
gitlab-ctl restart

注意, npm一定要配置国内镜像仓库, 否则会执行很慢, 另外, 执行过程中, 可能会报一些错, 这个可以暂不理会, 是由于nodejs版本造成的

坑 2

完成上述情况, 我们的确可以正常访问, 但当我们打开chrome的控制台, 去查看页面资源加载情况, 会出现

我们看到很多422的错误, 这里主要是/assets/webpack文件夹下的内容加载不了, 这个是由于rails里面的CSP安全策略, 不加载 js, 不过我们可以通过配置nginx, 让/assets为静态站点目录, 即在nginx配置文件中加上

location /assets {root /opt/gitlab/embedded/service/gitlab-rails/public;index index.html;
}

这个时候, 我们的静态资源文件通过nginx去访问, rails仍然可以保留自己的安全策略

作者:殷临风
链接:https://www.jianshu.com/p/808fbf9d972f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

安装gitlab遇到的大坑!!!相关推荐

  1. CentOS源码安装GitLab汉化版第3版

    软件版本: 软件 版本 CentOS 7.5 GraphicsMagick 1.3.31 Git 2.21.0 Ruby 2.5.3 Go 1.12 Node.js 10.15.2 PostgreSQ ...

  2. CentOS 7安装gitlab服务器

    2019独角兽企业重金招聘Python工程师标准>>> 提示:以下操作均在root用户下操作,如使用sudo,请自行根据实际执行命令 1.Gitlab依赖以及相关软件安装 在Cent ...

  3. 用Docker安装Gitlab

    Gitlab简介 GitLab是一个Git的代码托管工具,有免费的社区版允许我们在本地搭建代码托管网站,也有付费的企业版网站,能够在线托管代码.传统方式是手动下载Gitlab的软件包,然后搭建相关运行 ...

  4. centos6.8安装 gitlab 9.3.5及使用

    centos6.8安装 gitlab 9.3.5及使用 环境准备: [root@caosm03 conf]# cat /etc/issue CentOS release 6.8 (Final) Ker ...

  5. CentOS 7.X 安装 Gitlab 笔记

    2019独角兽企业重金招聘Python工程师标准>>> 升级系统 #纯净 CentOS 7.4 升级至 最新版本 7.5 yum update 通过官方 Omnibus 方式安装 最 ...

  6. 解决 Windows Docker 安装 Gitlab Volume 权限问题

    解决 Windows Docker 安装 Gitlab Volume 权限问题 参考文章: (1)解决 Windows Docker 安装 Gitlab Volume 权限问题 (2)https:// ...

  7. 使用yum安装gitlab

    使用yum安装gitlab 配置yum源,使用yum安装: yum install gitlab-ce -y #安装太慢,下面使用清华的源: cat gitlab_gitlab-ce.repo [gi ...

  8. CentOs7安装gitlab(转!)

    沧浪之水清兮,可以濯吾缨; 沧浪之水浊兮,可以濯吾足. -------------------<渔夫>引自<大江大河:水书记> 转自:https://www.cnblogs.c ...

  9. 在centos6.5中安装 GitLab 全过程和问题记录

    在centos6.5中安装 GitLab 全过程和问题记录 如果你想省事,使用最新版本的gitlab,请下载一键安装包,一键安装 脚本:https://bitnami.com/stack/gitlab ...

最新文章

  1. 如何正确处理Android6.0+的运行时权限申请
  2. Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2)
  3. 云效DevOps实践-代码评审
  4. C#创建桌面快捷方式
  5. Zookeeper 在Linux系统的安装
  6. 2018辛苦一年了,程序员这样跟大boss谈2019加薪,谈薪杯具变喜剧
  7. 奇新CMS教程(一)——在奇新CMS中添加五连幅焦点图片
  8. 图片相似度计算-模板匹配
  9. linux谷歌浏览器总是崩溃,Ubuntu 18.04谷歌浏览器Chrome卡死的原因及解决
  10. 磊科路由器信号按键_磊科路由器怎么设置中继? | 192路由网
  11. 格子刷油漆c++dp(最详细)
  12. TrustedInstaller
  13. 解析Linux中的VFS文件系统
  14. Spring前一次定时任务没执行完,下次任务是否会执行
  15. 【数据湖Hudi-8-Hudi集成Flink-入门】
  16. 百年工业,名词满天飞
  17. 服务器域共享文件夹,访问域共享文件夹
  18. 微信小程序H5预览页面框架
  19. 内存调试: GC_CONCURRENT freed
  20. 61850(CMS)

热门文章

  1. python 命令行参数 parser.add_arguement 中各参数的意思
  2. 拼多多为什么越来越受资本青睐?
  3. git前端工程实现ci_gitlab中vue前端项目CI/CD部署笔记
  4. Python提取pdf中的表格数据(附实战案例)
  5. 微盛·企微管家完成A轮融资,腾讯红杉联手发力企业微信服务赛道
  6. 2004.09.18,Sat - 国耻日
  7. 用 python 实现FFT,绘制频谱图
  8. WordPress 限制不同用户角色可上传的文件类型及大小
  9. 机器学习基础算法之随机森林
  10. vue实现时间转换功能(年月日时分秒)