技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页Linux>正文
Linux下安装部署GitLab社区版
2025年01月17日 Linux 暂无评论 ⁄ 被围观 42次+

GitLab简介:

一个非常流行的开源项目,支持自我托管,并且提供了丰富的功能集,包括CI/CD等。

GitLab 社区版是开源且免费的,允许用户自行下载并在本地服务器上安装。

官方网站:https://packages.gitlab.com/gitlab/gitlab-ce

GitLab下载地址:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el9/

https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/9/gitlab-ce-17.7.2-ce.0.el9.x86_64.rpm/download.rpm

上传安装包gitlab-ce-17.7.2-ce.0.el9.x86_64.rpm到服务器/opt目录

一、准备篇

1、操作系统:Rocky Linux-9.x

Rocky Linux 9.x系统安装配置图解教程

https://www.osyunwei.com/archives/14859.html

2、禁用selinux

#确认grubby软件包是否已经安装

rpm -q grubby

#添加selinux=0到内核​​命令行

grubby --update-kernel ALL --args selinux=0

#重启系统

shutdown -r now

#查看结果为Disabled

getenforce

3、防火墙设置

gitlab的默认端口配置为80

我们这里使用iptables作为防火墙

3.1关闭firewall

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl mask firewalld

systemctl stop firewalld

yum -y remove firewalld

3.2安装iptables防火墙,开启相应的端口

我们使用80端口

yum -y install iptables-services #安装

vi /etc/sysconfig/iptables

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl enable iptables.service #设置防火墙开机启动

systemctl restart iptables.service #启动防火墙使配置生效

4、设置系统时间

rm -rf /etc/localtime #先删除默认的时区设置

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #替换亚洲/上海作为默认时区

vi /etc/sysconfig/clock #添加时区

Zone=Asia/Shanghai

:wq! #保存退出

timedatectl set-local-rtc 0

hwclock --systohc -u #系统时钟和硬件时钟同步,当前系统时区不为 UTC,是CST时间,所有要加-u参数

date #显示系统时间

date -s "2025-01-15 15:24:00" #修改时间

watch -n 1 date #显示实时时间

vi /etc/chrony.conf

#pool 2.rocky.pool.ntp.org iburst #注释

server ntp.aliyun.com iburst #添加

:wq! #保存退出

systemctl enable chronyd #重启服务

systemctl restart chronyd #重启服务

chronyc sources -v #查看时间同步信息

5、系统参数优化

vi /etc/security/limits.conf #在最后一行添加以下代码

* soft nproc unlimited

* hard nproc unlimited

* soft nofile 1000000

* hard nofile 1000000

:wq! #保存退出

vi /etc/sysctl.conf #在最后一行添加以下代码

fs.file-max = 65535000

fs.nr_open = 65535000

kernel.pid_max=655350

vm.swappiness = 0

net.ipv4.ip_forward = 1

:wq! #保存退出

/sbin/sysctl -p

ulimit -a #查看

ulimit -n 1000000 #设置

二、安装篇

1、安装gitlab

#检查当前是否安装gitlab

gitlab-ctl status

#安装依赖包

yum installpolicycoreutils-python-utils perl

#yum install policycoreutils-python perl #rhel-7系列用的是这个命令

cd /opt

rpm -ivh gitlab-ce-17.7.2-ce.0.el9.x86_64.rpm #安装

2、修改配置文件

mkdir -p /data/server/gitlab #创建gitlab数据存放目录,默认是在/var/opt/gitlab目录

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak #修改前先备份

vi /etc/gitlab/gitlab.rb #修改或添加配置信息

external_url 'http://192.168.21.190:80/' #设置外部url

gitlab_rails['time_zone'] = 'Asia/Shanghai' #设置时区

gitlab_rails['locale'] = 'zh-CN' #设置语言

#设置数据存储目录

git_data_dirs({

"default" => {

"path" => "/data/server/gitlab" #设置gitlab数据存放目录

}

})

#把下面3个取消注释,工作进程减少,最低为2

puma['worker_processes'] = 2

puma['min_threads'] = 2

puma['max_threads'] = 2

#ssh主机ip

gitlab_rails['gitlab_ssh_host'] = '192.168.21.190'

#ssh端口配置

gitlab_rails['gitlab_shell_ssh_port'] =22

#邮件设置编辑修改配置文件

#我们使用qq邮箱,smtp_password是授权码,不是邮箱的登录密码,要特别注意

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.qq.com"

gitlab_rails['smtp_port'] = 465

gitlab_rails['smtp_user_name'] = "xxx@qq.com"

gitlab_rails['smtp_password'] = "xxxxxxxxxxx"

gitlab_rails['smtp_domain'] = "smtp.qq.com"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = false

gitlab_rails['smtp_tls'] = true

gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'

:wq! #保存退出

gitlab-ctl reconfigure #重新加载配置

#进入控制台

gitlab-rails console

#测试发送邮件

Notify.test_email(‘收件人邮箱’, ‘邮件标题’, ‘邮件正文’).deliver_now #模板

Notify.test_email('yyy@qq.com', '测试邮件', '这是一份测试邮件').deliver_now

如果能收到邮件说明配置成功

exit; #退出控制台

gitlab-rake "gitlab:password:reset" #修改管理员用户root的密码,根据提示填写,root用户是内置的

root/3j+w0#mN

gitlab-rails console #进入控制台

user = User.find_by(username: 'root') #查找用户

user.email = 'zzz@139.com' #修改邮箱地址

user.save! #保存

exit; #退出控制台

#使配置文件生效

gitlab-ctl reconfigure

#设置开机启动

systemctl enable gitlab-runsvdir

#停止

gitlab-ctl stop

#启动

gitlab-ctl start

#重启

gitlab-ctl restart

3、访问gitlab

#浏览器打开

http://192.168.21.190/

输入账号密码登录

root/3j+w0#mN

#设置中文界面

最后刷新页面,已经是中文显示了。

继续创建一个项目

默认创建的项目main分支是受保护的,现在取消限制。

这样就取消了限制

#相关命令

#查看rpm包

rpm -qa | grep gitlab

#卸载gitlab

rpm -ev --nodeps `rpm -qa | grep gitlab`

#删除目录及文件

rm -rf /opt/gitlab /etc/gitlab /var/opt/gitlab /var/log/gitlab

#相关目录说明

#安装目录

/opt/gitlab

#配置文件目录

/etc/gitlab

#默认数据目录

/var/opt/gitlab

#日志目录

/var/log/gitlab

4、使用git提交和拉取代码

安装git软件:https://git-scm.com/downloads

这里我们使用Windows客户端,下载后默认安装就可以

提交和拉取代码前要先配置ssh密钥

桌面右键打开-Open Git Bash here

4.1配置用户名

#osyunwei为自己的用户名,可以自定义,提交记录的时候会显示这个用户名

git config --global user.name 'osyunwei'

4.2配置邮箱

#添加自己的邮箱地址

git config --global user.email '190062279@qq.com'

git config --list #查看配置

#上两步生成的信息会在C:\Users\账号 下生成.gitconfig配置文件,特别注意此文件不能删除,此文件记录了账号和邮箱

4.3使用Git生成ssh密钥对,运行命令时需要三次回车

ssh-keygen -t ed25519

4.4 在C:\Users\用户名\.ssh 目录下会生成.ssh文件夹,此文件夹中有以下两个文件

 

id_ed25519

id_ed25519.pub

需要把文件夹中的公钥( id_ed25519.pub)添加到GitLab管理平台中

如图所示进行添加

这样ssh密钥就添加好了

4.5克隆远程仓库到本地,然后进行代码上传和拉取

新建目录D:\work,在work文件夹上右键打开-Open Git Bash here

克隆远程仓库到本地

会在当前目录下创建一个名为 project 的文件夹,并自动设置好 origin 远程仓库地址

git clone ssh://git@192.168.21.190/group/project.git

查看目录D:\work\project已经有一个README文件了

在这个目录创建一个测试文件,然后进行代码上传

在D:\work\project文件夹上右键打开-Open Git Bash here

链接远程仓库,因为刚才已经拉取过代码了,所有已经有了远程仓库信息

相关命令

查看现有远程仓库信息

git remote -v

移除现有的远程仓库

git remote remove origin

#添加远程仓库信息

git remote add origin ssh://git@192.168.21.190/group/project.git

#上传代码到仓库

git add .

git commit -m 20250117

git fetch origin #获取远程仓库的最新信息

git push -uf origin main #推送代码

git pull origin main #拉取远程仓库最新代码

4.6在本地新建一个仓库,并且初始化仓库,进行代码上传和拉取

新建目录D:\newwork,在这个目录创建一个测试文件,然后在newwork文件夹上右键打开-Open Git Bash here

git init #初始化新的 Git 仓库

git checkout -b main #创建并切换到 main 分支

#添加远程仓库地址

git remote add origin ssh://git@192.168.21.190/group/project.git

git remote -v #查看远程仓库信息

#上传代码到仓库

git add .

git commit -m 20250117new

git fetch origin #获取远程仓库的最新信息

git push -uf origin main #推送代码

git pull origin main #拉取远程仓库最新代码

git branch -m main #重命名本地分支为 main

至此,Linux下安装部署GitLab社区版完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2025 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3