私有gitlab的搭建和配置教程

1. 说明

此教程基于Ubuntu22.04进行阐述,只有部分操作系统特有操作外,应该具有普适性,如果在其他操作系统(如 CentOS/Deepin等)进行gitlab的搭建,也具有一定的参考意义。

2. 安装操作

2.1 依赖项

首先安装一些依赖项和邮件:

sudo apt install -y curl openssh-server ca-certificates postfix

这个时候会在终端中弹出提示,需要选择和确认一些东西,选择的时候,直接选择Internet Site,后续都是直接选择OK即可。

2.2 gitlab-ce

然后安装对应的gitlab-ce,千万不要选择什么极狐那些玩意!!!

注意,这里是debain系的安装办法,如果是redhat系,请自行搜索!

https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

然后执行命令:

sudo EXTERNAL_URL="http://ip:port" apt install gitlab-ce

注意这里的EXTERNAL_URL将会写入到gitlab的配置文件中的,我这里采用的方式是http://ip:port的方式,也就是主机ip加端口的方式,比如我的主机ip为12.1.12.13,我想给gitlab分配端口8000,那么这里就是 http://12.1.12.13:8000

这样已经完成了安装!

2.3 简要配置

注意刚刚分配了端口,但是linux默认有防火墙机制,需要对端口进行规则处理。并且希望gitlab能够开机自启等。

Ubuntu22.04配置端口的允许(其他系统的自行查找):

sudo ufw allow 8000

开机自启的设置:

systemcl enable gitlab-runsvdir

2.4 网页操作

经过前面的配置,已经可以登录网页了,使用http://ip:port即可登录,页面如下:

gitlab登录页面

2.5 中文配置

设置网页内部中文显示的方法:

  1. 进入偏好设置:

偏好设置

  1. 设置中文:

中文配置

2.6 其他操作

如果要新建项目、更换头像、管理成员等等操作,请自行搜索教程,非常庞杂,这里不进行赘述。

3. 配置https

如果有配置成https的需要,则继续阅读,否则已经完成配置了!!!

3.1 配置证书

依次进行如下命令操作

sudo mkdir -p /etc/gitlab/ssl
sudo chmod 755 /etc/gitlab/ssl
sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitdev.key 2048
sudo openssl req -new -key /etc/gitlab/ssl/gitdev.key -out /etc/gitlab/ssl/gitdev.csr
# sudo cp -v /etc/gitlab/ssl/gitdev.{key,original}
# sudo openssl rsa -in /etc/gitlab/ssl/gitdev.original -out /etc/gitlab/ssl/gitdev.key
# sudo rm -v /etc/gitlab/ssl/gitdev.original
sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitdev.csr -signkey /etc/gitlab/ssl/gitdev.key -out /etc/gitlab/ssl/gitdev.crt
sudo rm -v /etc/gitlab/ssl/gitdev.csr
sudo chmod 600 /etc/gitlab/ssl/gitdev.key
sudo chmod 600 /etc/gitlab/ssl/gitdev.crt

注意:

这里的 gitdev 可以更改为你的喜好命名!

3.2 url配置

打开配置文件

sudo vim /etc/gitlab/gitlab.rb

然后修改如下这一行:

external_url 'https://12.1.12.13:8000'

注意:

在前面2.2的时候,写的是 http://12.1.12.13:8000,这里改成https即可

然后让配置生效:

sudo gitlab-ctl reconfigure

3.3 网页访问

现在则可以通过https://ip:port访问网页了。

3.4 认证错误

这个时候如果直接使用如下命令拉取仓库:

git clone https://xxx:/xx/xx.git

会发现报错,没有认证文件……

解决办法是在git bash或者Linux的终端输入命令:

git config --global http.sslVerify false

也就是通过git配置来解决,请注意使用global还是local,这个区别就是全局还是只针对当前仓库的区别,请自行选择。

4. ssh操作

前面步骤配置完成之后,就可以通过如下的方式进行代码的拉取推送了:

# http方式
git clone http://xxx:/xx/xx.git

# https方式
git clone https://xxx:/xx/xx.git

但是,使用ssh进行各种拉取推送操作,才是更为安全简洁的,原因可自行搜索。

这里针对Windows下配置,Linux下大差不差。

4.1 生成文件

注意,必须使用git bash进行操作,Linux下则可以直接在终端操作。

ssh-keygen

则在用户目录下生成了一个.ssh目录,里面有一些文件:

目录展示

4.2 web配置

id_rsa.pub的内容按照如下进行操作:

ssh密钥

密钥配置

4.3 额外操作

如果只进行以上步骤,在克隆时会发现无法成功……会提示类似这样的东西:

git@12.1.12.13's password: 

然后不管你输入什么密码都不行……

所以,需要你的额外操作来解决问题。

仍然是打开git bash

vim ~/.ssh/config

然后输入:

# gitlab
Host 12.1.12.13
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa

注意IdentityFile对应的文件和路径一定是你真正生成的文件路径。

然后就可以愉快地进行玩耍了!

教程同步发布在我的微信公众号:
https://mp.weixin.qq.com/s/4grXds3jNQEgF7w0W20nKw

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值