一,GitLab介绍
GitLab
和GitHub
的不同之处:
GitHub
是开源的代码托管平台,是公开的,私人仓库也支持,不过是收费的,而GitLab
是自己搭建的代码托管平台,并不是开源的,一般是公司内部搭建一个属于自己的代码托管平台,只允许内部员工进行使用,而且权限控制方面做的也很全面,可以对不同用户展示不同的代码片段!
二,GitLab软件包下载和安装
GitLab
可以到清华大学镜像库中进行下载
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
中文汉化包下载地址
https://gitlab.com/xhang/gitlab/-/tree/12-0-stable-zh
只需要这两个就可以部署了!
首先使用xftp
文件传输工具把上面两个包上传到linux
服务器上
然后安装gitlab
所需要的依赖包
yum install -y curl postfix policycoreutils-python openssh-server wget
安装gitlab
安装包
yum localinstall gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm -y
安装完成后会提示成功信息(gitlab
的标志以及欢迎语)
配置gitlab
服务、访问域名以及邮箱
配置邮箱的用途:1,账号注册时,邮箱验证。2,修改密码时,通过邮箱修改。
进入配置文件进行配置
vim /etc/gitlab/gitlab.rb
一个细节问题,暂时把上面的邮箱地址配置成qq邮箱,另外把访问路径改为http://ip地址
,没有域名嘛!
另外再找到smtp
配置修改为下面内容(smtp
相关配置)
smtp_password
项先填为空,后续再说!
登录qq
邮箱,进入设置>账户,生产授权码
然后把生产的授权码配置到上面的smtp_password
的地方。
然后关闭prometheus
,一共两处地方需要改为false
。
因为系统的80端口已经被httpd
服务给占用了,所以配置端口改为8082。
监听ip
要改成linux
服务器的ip
地址
改完配置以后,初始化gitlab
服务,启动gitlab
服务
注意:每次修改/etc/gitlab/gitlab.rb
配置文件都需要reconfigure
初始化!
# 初始化gitlab服务
gitlab-ctl reconfigure
# 启动gitlab服务
gitlab-ctl start | restart | status | stop
启动成功
安装gitlab
时,它会自带好多服务并会自动安装,例如redis
,nginx
等,如果服务器上已经装了nginx
,那么不好意思,两个nginx
配置会有冲突。
安装gitlab
之后,它会把自带的服务安装到/var/opt/gitlab/
文件夹下,在这里面配置nginx
转发到gitlab
的地址,还会有gitlab-rails
中的配置文件,也要修改监听地址和端口为gitlab
的地址和端口。
重新启动gitlab
服务,在浏览器中输入nginx
的ip地址和监听端口进行访问。
下面的情况完全是因为服务器的内存不足造成的,我百度之后,才后知后觉,gitlab
对服务器的性能要求挺高的,对不住兄弟萌了,在下告辞了!
三,Gogs介绍
Gogs
是一款极易搭建的自助 Git
服务,Gogs
的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git
服务。
既然是因为服务器的性能原因,那就使用Gogs
来取代GitLab
了。
进Gogs
官网,点击下载安装,可以选择Gogs
的安装版本。
1,下载并安装Gogs
开始下载安装
在/usr/local
下新建文件夹gogs
,进入文件夹,下载gogs
安装包。
wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
解压
tar -xvf gogs_0.11.91_linux_amd64.tar.gz
解压之后,创建三个文件夹data
、log
、repositories
,分别存放用户数据,日志和仓库。
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# ls
gogs gogs_0.11.91_linux_amd64.tar.gz
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# cd gogs
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# ls
gogs LICENSE public README.md README_ZH.md scripts templates
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# mkdir data
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# mkdir log
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# mkdir repositories
[root@iZ2ze9ipfjhle3cz3cgb0rZ gogs]# ls
data gogs LICENSE log public README.md README_ZH.md repositories scripts templates
然后命令启动gogs
服务
./gogs web
启动端口为3000
然后从浏览器进入http://101.201.101.206:3000/
第一次进来需要配置数据库信息(选择SQLite3
,不用连接mysql
啥的,因为Gogs
自身内置了该数据库)
创建管理员账号,然后点击立即安装即可。
然后完成!
./gogs web
并不是后台启动,转后台启动可以 nohop ./gogs web &
挺简单的,很轻量级的Git
代码托管平台,适合小型团队(5到6人),操作也很直白,和github
的操作一样一样的,经理再也不用担心我没有私人代码托管平台了!
作者:樊同学