@zhangyy
2019-12-11T10:42:17.000000Z
字数 2098
阅读 177
运维系列
- 一:Gitlab概述
- 二:GitLab和GitHub的区别
- 三:搭建GitLab平台与使用
GitLab概述:
是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
GitLab官网:https://about.gitlab.com/
相同点: 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
不同点:
1、GitHub如果要使用私有仓库,是需要付费的。GitLab可以在上面创建私人的免费仓库。
2、GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。
git相关概念:
git 是一种版本控制系统,是一个命令,是一种工具
gitlib 是用于实现git功能的开发库
github 是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab 是一个基于git实现的在线代码仓库托管软件,一般用于在企业内网搭建git私服
注:gitlab-ce 社区版 ;gitlab-ee是企业版,收费
系统:CentOS7.5X64
下载gitlab 最新版
https://packages.gitlab.com/gitlab/gitlab-ce/
yum install curl policycoreutils openssh-server openssh-clients postfix -y
默认,使用 Postfix 发送邮件
service postfix start
chkconfig postfix on
iptables -F #清空规则
systemctl stop firewalld
systemctl disable firewalld
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm/download.rpm
rpm -ivh gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm
gitlab-ctl reconfigure #重新配置应用程序。相当于初始化一下
gitlab-ctl status
netstat -nultp |grep :80
vim /etc/gitlab/gitlab.rb
改:13 external_url 'http://gitlab.example.com'
为:13 external_url 'http://172.17.100.11'
gitlab的管理
关闭gitlab: # gitlab-ctl stop
启动gitlab: # gitlab-ctl start
重启gitlab: # gitlab-ctl restart
默认第一次启动需要设置密码的: 这里配置密码为flyfish225
默认配置的是root用户的密码
mkdir -p /root/project
cd project
git clone http://172.17.100.11/TL-flyfish/solo.git
去公网下载一个博客的的项目
mkdir -p /soft/
cd /soft
git clone https://github.com/b3log/solo.git
cd /soft/solo/src/main/resouce/
vim late.latke.properties
----
serverhost = 172.17.100.11
----
cd solo/
cp -ap * /root/project/solo/
cd /root/project/solo/
git add .
git commit -m "all"
git push origin master