gitlab 的介绍与安装配置(一)

标签(空格分隔): 运维系列


  • 一:Gitlab概述
  • 二:GitLab和GitHub的区别
  • 三:搭建GitLab平台与使用

一:Gitlab概述

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

GitLab官网:https://about.gitlab.com/

image_1ciiukeip16ae19segsv1djb1dkj1p.png-151.9kB

二:GitLab和GitHub的区别

相同点: 二者都是基于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是企业版,收费

image_1ciium5ctab51nqu1l1khpc7p26.png-129.5kB


三:搭建GitLab平台

3.1:环境介绍

系统:CentOS7.5X64 

下载gitlab 最新版

https://packages.gitlab.com/gitlab/gitlab-ce/

image_1ciiusoig8q2g9m1kn61mph5c03j.png-459.2kB

3.2:安装环境初始化

yum install curl policycoreutils openssh-server openssh-clients postfix  -y

image_1ciiuvm2sk0df5113brnc172340.png-446.5kB

默认,使用 Postfix 发送邮件

service postfix start 
chkconfig postfix on 

image_1ciiv12o81itc4bs18qhlst1g334d.png-212kB


iptables -F  #清空规则
systemctl stop firewalld
systemctl disable firewalld

image_1ciiv445utnahfd1ukdieiq9a5a.png-165.4kB

3.3 安装gitlab-ce

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

image_1cij045qh1ae19931jnc1pa3l145n.png-694.4kB

image_1cij07uffj9tdop15vu1kibjjn64.png-290.7kB

3.4 配置并启动GitLab

gitlab-ctl reconfigure  #重新配置应用程序。相当于初始化一下

image_1cij19am7pgmjvj1q3v1v7tq8p81.png-582.7kB

gitlab-ctl status

image_1cij1b4ecvr811j21ssn6eq1ulf8e.png-411kB

netstat -nultp |grep :80

image_1cij1g4bp5t6ct1rtavgn1eehab.png-340.4kB

vim /etc/gitlab/gitlab.rb

改:13 external_url 'http://gitlab.example.com'
为:13 external_url 'http://172.17.100.11'

image_1cij0v19h1ehkkab18rj2hl3du7k.png-232kB

gitlab的管理

关闭gitlab: # gitlab-ctl stop
启动gitlab: # gitlab-ctl start
重启gitlab: # gitlab-ctl restart

image_1cij1pp1j1pbd1o03166mrcl1vghbo.png-242.3kB

默认第一次启动需要设置密码的: 这里配置密码为flyfish225
默认配置的是root用户的密码 

image_1cij1sqfo17fg1vg93tvgvmv09co.png-296.5kB

3.5 设置gitlab的群组

image_1cij594ava2a17ld1jeo1t744879.png-299.2kB

image_1cij5airksjer06bgfhatlnm.png-409kB

image_1cij5b7cm1in018m6j7413lv1qt613.png-450.3kB

image_1cij5bqikhms1ekiahqd201vot1g.png-520.7kB

3.6 创建用户

image_1cij5q4bj1amr16v6li313dd133v44.png-338.9kB

image_1cij5rjl61fsj11jd1hc91gi66mq4h.png-323kB

image_1cij5tqmila08rd7iaicb190f4u.png-477.8kB

image_1cij637fv1lsrc6oi114cu1mdr5e.png-300.1kB

3.7 为群组创建项目

image_1cij5lfk415pl1ppk1efg2p9d662t.png-495.7kB

image_1cij5lvdda701l8km231fumk5a3a.png-547.3kB

image_1cij5mdul1lea16ih1bsu6m61lb43n.png-213.8kB

3.8 从gitlab 上面 拉取项目 然后配置提交到master主线

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

----

image_1cij8urq0bh81q9r1b3q1e4l10v76l.png-181.5kB


cd solo/
cp -ap * /root/project/solo/

cd /root/project/solo/
git add .

git commit -m "all" 

git push origin master

image_1cij8msiv7701coucmlhmc120i5r.png-293.7kB

image_1cij8no15p8g7gnktf7f76i868.png-480.9kB