搭建Gitlab

Posted qiuzhimutou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建Gitlab相关的知识,希望对你有一定的参考价值。

1.先进入服务器
 
2.用的是阿里云,是centos6.9
 
介绍下步骤:
yum -y install policycoreutils openssh-server openssh-clients postfix
yum install policycoreutils-python(9.X以前的不需要安装此依赖,10以后需要)
 
下载安装包:
centos7:
centos6:
这里看清楚你用的是什么版本的,别下错了,el7是centos7,el6是centos6的
3.安装
rpm -i gitlab-ce-10.0.0-ce.0.el6.x86_64.rpm
4.卸载
rpm -e gitlab-ce-10.0.0-ce.0.el6.x86_64  (注意这里没有后缀.rpm)
5. 修改gitlab配置文件指定服务器ip和自定义端口
vim  /etc/gitlab/gitlab.rb
 
7.重置并启动Gitlab
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
技术分享图片
看到ok run表示启动成功,然后用浏览器访问ip:port,首次访问会让你设置admin用户的密码,重置后就可以通过浏览器管理git项目了。
root是帐号
然后就去访问http://xxx
 
很有可能你是看不到的,因为有问题
排查问题利器:
gitlab-rake gitlab:check ( check查看整体状态值)
gitlab-ctl status  (查询gitlab状态)
 
如果缺少资源,可以使用以下命令关闭Unicorn和Sidekiq,暂时释放一些内存:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
 
BUG记录:
  1. 在浏览器中访问GitLab出现502错误
    原因:内存不足。
    解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。
  2. 80端口冲突
    原因:nginx默认使用了80端口。
    解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。这样就可以直接用使用ip访问Gitlab。而禅道则可以使用4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。
    #Listen 80 Listen 4040
  3. 8080端口冲突
    原因:由于unicorn默认使用的是8080端口。
    解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn[‘port‘] = 8080 的注释,将8080修改为9090,保存后运行sudo gitlab-ctl reconfigure即可。
  4. STMP设置
    配置无效,暂时不知道原因。
  5. GitLab头像无法正常显示
    原因:gravatar被墙
    解决办法:
    编辑 /etc/gitlab/gitlab.rb,将
    #gitlab_rails[‘gravatar_plain_url‘] = ‘http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon‘
    修改为:
    gitlab_rails[‘gravatar_plain_url‘] = ‘http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon‘
    然后在命令行执行:
    sudo gitlab-ctl reconfigure
    sudo gitlab-rake cache:clear RAILS_ENV=production

以上是关于搭建Gitlab的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab的安装搭建

gitlabgitlab快速部署教程

gitlabgitlab -ce历史版本各系统软件包下载

Jenkins Gitlab持续集成打包平台搭建

Jenkins Gitlab持续集成打包平台搭建

Git