CentOS7安装GitLab(nginx冲突、端口更改)

GitLab介绍

gitlab是将issues, code review, CI and CD 整合到独立的网站UI,版本控制使用GIT。gitlab 分为 Gitlab Community Edition(gitlab社区版又称gitlab-ce)、Gitlab Enterprise Edition(gitlab企业版又称gitlab-ee);ce和ee的区别在于ce的功能在ee里面都有,而EE里有的功能CE不一定支持。如果要用高级功能,就花钱向gitlab团队采购吧!!

GitLab架构

GitLab Application Architecture

gitlab使用ruby on rails框架编写的一个web界面的代码仓库管理系统,在运行中使用了数据库(postgresql[可以使用其他数据库代替如mysql])、redis、nginx、gitlab-shell等组件来保证gitlab的正常运行。

安装GitLab

centos中可以直接通过配置yum源然后使用yum进行一键安装

配置yum源

国内可以使用的清华大学的镜像源安装GitLab,相关配置及安装参照:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
以下内容写入yum源配置文件:/etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

安装

gitlab-ce一键安装后可以利用rpm -ql gitlab-ce查询其文件安装路径及相关文件路径,其默认安装路径为/opt/gitlab/。

相关默认位置

程序数据及配置文件保存路径为/var/opt/gitlab下(此路径是运行gitlab-ctl reconfigure后根据/etc/gitlab/gitlab.rb配置自动生成的)

代码仓库保存位置:/var/opt/gitlab/git-data/repositories/
代码仓库备份位置:/var/opt/gitlab/backups/
postgresql数据及配置目录:/var/opt/gitlab/postgresql/data/
redis默认配置目录:/var/opt/gitlab/redis
gitlab主要配置文件:/etc/gitlab/gitlab.rb

yum makecache
yum install -y gitlab-ce

gitlab常见配置

vim /etc/gitlab/gitlab.rb
#修改gitlab运行外部URL默认的访问地址
external_url 'http://47.92.25.83:82'  

vi /etc/gitlab/gitlab.rb 
#修改默认端口
nginx['listen_port'] = 82 #默认值即80端口 nginx['listen_port'] = nil
unicorn['port'] = 8082#原值unicorn['port'] = 8080

#清理临时文件
rm /var/opt/gitlab -rf #重新初始化gitlab gitlab-ctl reconfigure gitlab-ctl restart

安装过程中遇到的问题

安装GitLab出现ruby_block[supervise_redis_sleep] action run

在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!

解决方案:

1、按住CTRL+C强制结束;

2、运行:sudo systemctl restart gitlab-runsvdir;

3、再次执行:sudo gitlab-ctl reconfigure

解决方案来源:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/160

使用浏览器访问GitLab

http://47.92.25.83:82/

首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面. (r1)

默认的管理员账号是root,如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名.(yanjingang)

如用浏览器访问遇到502,可以执行以下命令解决

参见:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
sudo gitlab-ctl restart sidekiq
sudo gitlab-ctl hup unicorn

git使用

a.在gitlab web界面上新建test项目

b.在开发机

git config --global user.name "yanjingang"
git config --global user.email "yanjingang@mail.com"

git clone http://115.29.47.99:8090/yanjingang/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"

vim .git/config  #在url前缀上自己用户名@,否则push时会遇到401错误
 [remote "origin"]
   fetch = +refs/heads/*:refs/remotes/origin/*
   url = http://yanjingang@115.29.47.99:8090/yanjingang/test.git

git push -u origin master

c.在gitlab web界面上test项目下即可看到本次的提交日志和内容。

d.团队其它成员创建gitlab账号并使即用可

参考:

https://www.gitlab.com.cn/installation/#centos-7

https://www.jianshu.com/p/aec2fcb88f6f

https://www.jianshu.com/p/aec2fcb88f6f

欢迎关注下方“非著名资深码农“公众号进行交流~

One thought on “CentOS7安装GitLab(nginx冲突、端口更改)

发表评论

邮箱地址不会被公开。