github和gitlab比较

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是企业版,收费版

安装过程中出现的问题

在浏览器中访问GitLab出现502错误

原因:内存不足。

解决办法:检查系统的虚拟内存是否随机启动了,如果系统无虚拟内存,则增加虚拟内存,再重新启动系统。

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 

8080端口冲突

原因:由于unicorn默认使用的是8080端口。

解决办法:打开/etc/gitlab/gitlab.rb,打开# unicorn['port'] = 8080 的注释,将8080修改为9090,
保存后运行sudo gitlab-ctl reconfigure即可。

STMP设置

配置无效,暂时不知道原因。

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=productio


查看原文:http://www.chenqmc.com/?p=327
上一篇:docker centos7 安装ssh


下一篇:redis的两种持久化