Linux持续集成GitLab/Gogs私人代码托管平台
一,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的操作一样一样的,经理再也不用担心我没有私人代码托管平台了!
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

浙公网安备 33010602011771号