Linux持续集成GitLab/Gogs私人代码托管平台

一,GitLab介绍

GitLabGitHub的不同之处:

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时,它会自带好多服务并会自动安装,例如redisnginx等,如果服务器上已经装了nginx,那么不好意思,两个nginx配置会有冲突。

安装gitlab之后,它会把自带的服务安装到/var/opt/gitlab/文件夹下,在这里面配置nginx转发到gitlab的地址,还会有gitlab-rails中的配置文件,也要修改监听地址和端口为gitlab的地址和端口。

在这里插入图片描述

重新启动gitlab服务,在浏览器中输入nginx的ip地址和监听端口进行访问。

下面的情况完全是因为服务器的内存不足造成的,我百度之后,才后知后觉,gitlab对服务器的性能要求挺高的,对不住兄弟萌了,在下告辞了!
在这里插入图片描述

三,Gogs介绍

Gogs是一款极易搭建的自助 Git服务,Gogs的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git服务。

img

既然是因为服务器的性能原因,那就使用Gogs来取代GitLab了。

Gogs官网,点击下载安装,可以选择Gogs的安装版本。

https://dl.gogs.io/

开始下载安装

/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

解压之后,创建三个文件夹datalogrepositories,分别存放用户数据,日志和仓库。

[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的操作一样一样的,经理再也不用担心我没有私人代码托管平台了!

猜你喜欢

转载自blog.csdn.net/weixin_44001965/article/details/105580967
今日推荐