首页 > 服务器管理 > Ubuntu22.04下安装使用Gitlab-CE全过程
2024
10-10

Ubuntu22.04下安装使用Gitlab-CE全过程

一、操作系统使用Ubuntu22.04版本

1、安装系统(设置-关于-软件-设置阿里云源)

image.png

2、修改root密码并启用root的ssh登录(安装vim,openssh-server)

编辑 vim /etc/ssh/sshd_config    修改 PermitRootLogin yes

重新启动 SSH 服务:systemctl restart ssh

二、安装gitlab-ce(以16.10.0为例)

1、查看版本代号lsb_release -c

2、https://packages.gitlab.com/gitlab/gitlab-ce  搜索适合的版本deb下载

3、使用命令安装:dpkg -i download.deb

image.png

4、修改配置文件并启动:

配置启动路径:如“http://192.168.1.12:8080”

 external_url 'http://your-domain.com'

配置邮件发送服务

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp_username"
gitlab_rails['gitlab_email_from'] = 'smtp_username'
gitlab_rails['smtp_password'] = "smtp_password"
gitlab_rails['smtp_domain'] = "smtp.server.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

配置备份路径和参与

gitlab_rails['manage_backup_path'] = true
 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
 gitlab_rails['backup_archive_permissions'] = 0644
 gitlab_rails['backup_keep_time'] = 604800
#配置数据保存位置
 git_data_dirs({
   "default" => {
     "path" => "/var/opt/gitlab/git-data"
    }
 })

更新配置启动服务:

gitlab-ctl reconfigure

如再次更改配置文件,需要重启服务:gitlab-ctl restart

5.修改超级管理员密码

超管默认用户root,初始密码:cat /etc/gitlab/initial_root_password

root超管修改密码:

gitlab-rails console -e production 进入控制台后

user = User.where(id: 1).first

user.password = '123456'

user.password_confirmation = '123456'

user.save!

quit

6.使用配置的url访问使用 http://192.168.1.12:8080

image.png

7.安装runner

(1)下载安装包安装

curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb
dpkg -i gitlab-runner_amd64.deb

(2)或使用命令安装

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
apt-get install gitlab-ci-multi-runner

(3)gitlab-runner 注册

创建runner:设置 -> CI/CD -> Runners

image.png


注意,如果此处报500错误可以进入命令行执行下面命令再试

gitlab-rails console
> ApplicationSetting.first.delete
> ApplicationSetting.first
=> nill
gitlab-ctl reconfigure

使用命令注册gitlab-runner:

image.png

gitlab-runner register #参考上图完成参数填写即可完成

三、使用gitlab-ce

1、设置中文语言:设置-偏好设置-本地化

image.png

2、设置仓库默认分支main为master:设置-仓库-默认分支

image.png

四、备份、恢复、升级

1、备份:

使用命令gitlab-rake gitlab:backup:create,会在配置文件里的备份目录生成压缩包,建议搞成定时任务如“0 1 * * * /usr/bin/gitlab-rake gitlab:backup:create”

2、恢复备份:

(1)停止数据服务/设置权限

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
chmod 777 /var/opt/gitlab/backups/*.tar

(2)恢复备份:gitlab-rake gitlab:backup:restore BACKUP=/var/opt/gitlab/backups/<backup_file>

注意<backup_file>不能填写全名称,只能填写数字部分,不然无法识别文件:gitlab-rake gitlab:backup:restore BACKUP=172xxx824_2024_01_01_16.10.0

(3)重启服务:gitlab-ctl restart或者

gitlab-ctl start unicorn
gitlab-ctl start sidekiq

3、gitlab升级

(1)确保gitlab服务正常,备份配置文件(gitlab.rb,gitlab-secrets.json,trusted-certs)

(2)gitlab-rake gitlab:backup:create #备份数据

(3)下载新版gitlab的deb包安装(使用官方工具选择升级版本:https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/),不建议使用官方推荐的命令安装  

使用命令安装:dpkg -i download.deb  安装完成见下图

image.png

image.png

安装成功后重新加载配置并启动

gitlab-ctl reconfigure

gitlab-ctl restart

升级过程中遇到的问题:gitlab备份迁移后,新gitlab部分页面报500错误

问题:在将旧gitlab服务器上的数据备份迁移到新服务器后(参照:Gitlab数据备份、迁移、恢复),有部分页面访问包500错误。经验证新服务器在恢复备份数据前,页面均访问正常,问题出现在备份恢复上。

分析:在网上查找资料发现,这是由于db_key_base问题导致的。因为gitlab默认的备份机制,是不会备份gitlab.rb和gitlab-secrets.json文件的。在备份恢复过程有如下警告提示:

解决办法:

方法一、在旧gitlab配置文件未删除的情况下,拷贝gitlab-secrets.json文件到新服务器替换,重启gitlab。

方法二、若旧gitlab配置已删除,可执行以下两组命令重置相关CI的所有密钥和token。

命令1:

#gitlab-rails console

#Ci::Runner.all.update_all(token_encrypted: nil)

执行完命令后,重启gitlab服务

命令2:

#gitlab-rails dbconsole

#gitlabhq_production=> UPDATE projects SET runners_token = null, runners_token_encrypted = null;

#gitlabhq_production=> UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;

#gitlabhq_production=> UPDATE application_settings SET runners_registration_token_encrypted = null;

执行完命令后,重启gitlab服务

作者:admin
admin
TTF的家园-www.ttfde.top 个人博客以便写写东西,欢迎喜欢互联网的朋友一起交流!

本文》有 0 条评论

留下一个回复