wellliu
GitHub
GitLab更适合企业级使用
为企业搭建GitLab软件版本管理服务器

GitLab:https://about.gitlab.com/
GitHub: https://github.com/

GitLab:利用Ruby on Rail开发的开源应用程序,实现一个自托管的Git项目仓库,可以通过web界面进行访问公开的或者私人项目。
Ruby on Rail是一个使你开发、部署、维护web应用程序变得简单的框架。
GitLab拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问,
它非常易于浏览提交过的版本并提供一个文件历史库,它提供一个代码片段功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitHub:是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。

两者区别:
相同点:二者都是基于web的Git仓库,在很大程度上GitLab是仿造GitHub来做的,他们都提供了分享开源项目的平台,
为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

不同点:
1、GitHub如果使用私有仓库,是需要付费的,GitLab可以在上面搭建私人的免费仓库
2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相对于GitHub,它有不少的特色:
    (1)允许免费设置仓库权限
    (2)允许用户选择分享一个project的部分代码
    (3)允许用户设置project的获取权限,进一步提升安全性
    (4)可以设置获取到团队整体的改进进度
    (5)通过innersourcing让不在权限范围内的人访问不到该资源

gitlab安装及使用:
1、关闭防火墙和selinux,并安装安装依赖的包
    systemctl stop firewalld && sy
    stemctl disable firewalld
    setenforce 0  并修改/etc/selinux/config 
    yum -y install openssh-server postfix 
    yum install -y curl policycoreutils-python openssh-server
2、启动positfix和sshd
    systemctl enable postfix && systemctl start postfix
    systemctl enable sshd && systemctl start sshd
3、下载安装包并安装安装包
    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
4、打开/etc/gitlab/gitlab.rb,
    将external_url = \'http://git.example.com\'
    修改为自己的IP地址:http://xxx.xx.xxx.xx,,然后执行下面的命令,对GitLab进行编译。
    sudo gitlab-ctl reconfigure
5、登录GitLab
    Username: root 
    Password: 5iveL!fe
6、GitLab管理
    gitlab-ctl start/stop/restart/reconfigure

git相关概念:
git     是一种版本控制系统,是一个命令,是一种工具
gitlib  是基于git功能的开发库
gilthub 是一个基于git实现在线代码托管的仓库,包含一个网站界面,向互联网开放
gitlab  是一个基于git实现的在线代码仓库托管软件,一般用于在企业内搭建git私服
git-ce是社区版,gitlab-ee是企业版,收费版

安装过程中出现的问题
  1.  
    在浏览器中访问GitLab出现502错误
  2.  
     
  3.  
    原因:内存不足。
  4.  
     
  5.  
    解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。
  6.  
     
  7.  
    80端口冲突
  8.  
     
  9.  
    原因:Nginx默认使用了80端口。
  10.  
     
  11.  
    解决办法:为了使Nginx与Apache能够共存,并且为了简化GitLab的URL地址,Nginx端口保持不变,修改Apache的端口为4040。
  12.  
    这样就可以直接用使用ip访问Gitlab。而禅道则可以使用4040端口进行访问,像这样:xxx.xx.xxx.xx:4040/zentao。
  13.  
    具体修改的地方在/etc/httpd/conf/httpd.conf这个文件中,找到Listen 80这一句并将之注释掉,
  14.  
    在底下添加一句Listen 4040,保存后执行service httpd restart重启apache服务即可。
  15.  
     
  16.  
    #Listen 80
  17.  
    Listen 4040
  18.  
     
  19.  
    8080端口冲突
  20.  
     
  21.  
    原因:由于unicorn默认使用的是8080端口。
  22.  
     
  23.  
    解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn[\'port\'] = 8080 的注释,将8080修改为9090,
  24.  
    保存后运行sudo gitlab-ctl reconfigure即可。
  25.  
     
  26.  
    STMP设置
  27.  
     
  28.  
    配置无效,暂时不知道原因。
  29.  
     
  30.  
    GitLab头像无法正常显示
  31.  
    原因:gravatar被墙
  32.  
    解决办法:
  33.  
    编辑 /etc/gitlab/gitlab.rb,将
  34.  
     
  35.  
    #gitlab_rails[\'gravatar_plain_url\'] = \'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon\'
  36.  
     
  37.  
    修改为:
  38.  
     
  39.  
    gitlab_rails[\'gravatar_plain_url\'] = \'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon\'
  40.  
     
  41.  
    然后在命令行执行:
  42.  
     
  43.  
    sudo gitlab-ctl reconfigure
  44.  
    sudo gitlab-rake cache:clear RAILS_ENV=productio


查看原文:http://www.chenqmc.com/?p=327

分类:

技术点:

相关文章: