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使用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
掐指一算,这个博客能风光一百年!