管理员
管理员
发布于 2024-01-17 / 11 阅读
0
0

Linux 安装GitLab代码托管仓库

查看版本号

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

gitlab-rake gitlab:env:info

1. 安装和配置必须的依赖项

apt update
apt-get upgrade
apt-get install curl openssh-server ca-certificates postfix

如果这一步遇到下面提示界面,请按Tab切换到“确定”按钮,然后回车即可。
b32a5a435620f81916dcba9bf1346f11.png

2、安装命令:

  1. 安装文件网址:https://packages.gitlab.com/gitlab/gitlab-ce
  2. 下载GitLab文件
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_14.10.2-ce.0_amd64.deb/download.deb
  1. 安装GitLab
dpkg -i gitlab-ce_14.10.2-ce.0_amd64.deb
  1. 如果运行dpkg报openssh-server相关的错误,请先执行下面三个命令:

没有出错的这步跳过这步

apt --fix-broken install
apt-get update
apt-get upgrade
  1. 运行完sudo dpkg安装命令后如果出现下面的界面则gitlab安装成功了!
    7f935e850c5e8856bbefa9dd240fac80.png

  2. 修改GitLab网页ip和端口号

vim /etc/gitlab/gitlab.rb

8342ca0ee347f24a52641d35232d44c0.png

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  1. 启动/停止GitLab
# 1、停止gitlab服务
gitlab-ctl stop

# 2、启动gitlab服务
gitlab-ctl reconfigure

# 3、重启所有gitlab组件
gitlab-ctl restart

# 4、启动所有gitlab组件
gitlab-ctl start

# 5、启用开机自启动
systemctl enable gitlab-runsvdir.service

# 6、查看服务状态
gitlab-ctl status

3、设置root的密码

查看root密码

cat /etc/gitlab/initial_root_password

修改root密码

  • 执行以下命令进入 GitLab Rails Console:
sudo gitlab-rails console
  • 在 GitLab Rails Console 中执行以下命令修改 root 用户密码:
user = User.find_by_username('root')
user.password = 'Ahomeit26'
user.password_confirmation = 'Ahomeit26'
user.save!
  • 执行以下命令退出 GitLab Rails Console:
exit

4、其他命令

  1. 查看版本命令
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
gitlab-rake gitlab:env:info
  1. 修改GitLab服务器时区
  • 修改/etc/gitlab/gitlab.rb文件
vim /etc/gitlab/gitlab.rb

b961de1ac3fcc361f7763fa19915016f.png

  1. 将代码 gitlab_rails['time_zone'] = 'UTC' 修改为 gitlab_rails[‘time_zone’] = ‘Beijing’
    fa0e07c75e40063a1a3436e7a6458423.png

  2. 修改完后,保存退出。

  3. 配置并启动GitLab

gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status

5、GitLab备份恢复

1)备份gitlab

教程网址:https://blog.csdn.net/qq_41588098/article/details/125598435
备份命令:

gitlab-rake gitlab:backup:create

备份之后备份文件所在位置:/var/opt/gitlab/backups

2)恢复gitlab备份

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
  • 执行恢复gitlab仓库 BACKUP要大写
    f818334fa20fcb3dd6023a4229ceba83.png

恢复gitlab备份命令

gitlab-rake gitlab:backup:restore BACKUP=1667504495_2022_11_03_15.5.2

gitlab-rake gitlab:backup:restore BACKUP=
  • 继续,正在移除表,ctrl+c终止 不用管,报错是数据库的报错,不重要
    716ce0dce0c042c4bfe7ca0e854add42.png

  • 看看状态返回码是不是0,如果是0就说明没问题。
    932f10c85ca193e0e1d995b5d57289b0.png

echo $?
  • 由于停了两个服务,把它开启
gitlab-ctl start sidekiq
gitlab-ctl status unicorn

3)还原备份后修改项目报500错误

  • 进入gitlab内置的数据库
gitlab-rails dbconsole --database main

将token进行删除

UPDATE projects SET runners_token = null, runners_token_encrypted = null;
UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;
UPDATE application_settings SET runners_registration_token_encrypted = null;

刷新页面,500错误消失,修改成功
e1cf14a150044302bc843d83e73b5ee3.png

4)gitlab备份迁移后修改项目报500错误

gitlab通过备份迁移后,在修改或是删除项目时,报500错误,原因是迁移前后的token不一致导致的

解决办法:需要进入gitlab内置的数据库,将所有的token清除掉

885d2b20e4bfa25722186498ec9ceb5d.png

进入gitlab内置的数据库:适用于gitlab的14.8.2-ee版本,其他版本的命令可能会不一致

gitlab-rails dbconsole --database main

执行以下命令,将token进行删除:

UPDATE projects SET runners_token = null, runners_token_encrypted = null;
UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;
UPDATE application_settings SET runners_registration_token_encrypted = null;

a3785fd778d0c8ed4e3d4b87827ff196.png

6、升级GitLab数据库

查看数据库状态

gitlab-rake db:migrate:status

升级数据库

gitlab-rake db:migrate

7、6、卸载GitLab

1)停止gitlab

gitlab-ctl stop

2)卸载gitlab(注意这里写的是gitlab-ce)

rpm -e gitlab-ce

3)查看gitlab进程

62d283d4c5b1f7d9881f577c22fd8959.png

ps aux | grep gitlab

4)杀掉第一个进程(就是带有好多…的进程),杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程。若还存在,可以把它的主要组件的进程也杀一边。

5)删除所有包含gitlab文件

find / -name gitlab  xargs rm -rf

6)当然若你没有全杀权限。那么可以可以把这三个目录给干掉也可以:

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

评论