gitlab的安装和使用

目录

gitlab安装

# 安装gitlab服务所需依赖包
yum install -y curl postfix policycoreutils-python openssh-server wget
# 下载gitlab服务、安装gitlab服务
在清华源下载gitlab包,地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ # 根据系统发行版、版本选择,本例使用11.11.8版本的gitlab社区版(gitlab-ce)
yum install -y localinstall gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
# 配置gitlab服务、访问域名以及邮箱
vim /etc/gitlab/gitlab.rb
	external_url 'http://gitlab.clobotics.com'
#初始化gitlab服务、启动gitlab服务
gitlab-ctl reconfigure  # 初始化
gitlab-ctl start
# 访问gitlab服务、以及gitlab邮箱测试
	# 配置域名
	vim /etc/hosts
	192.168.1.4 gitlab.clobotics.com
	
	# 配置邮箱
	gitlab_rails['gitlab_email_enabled'] = true
    gitlab_rails['gitlab_email_from'] = '1101172195@qq.com' # 发件邮箱
    gitlab_rails['gitlab_email_display_name'] = 'Clobotics' # 发件人显示名称

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = 'smtp.qq.com'
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = '1101172195@qq.com' # 发件人邮箱账户
    gitlab_rails['smtp_password'] = 'kgelouzhdqfwifdc' # 发件人邮箱客户端授权码
    gitlab_rails['smtp_domain'] = 'qq.com'
    gitlab_rails['smtp_authentication'] = 'login'
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    # user['git_user_email'] = '1101172195@qq.com'
    
    # 登录qq邮箱:"设置-->账户-->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务",开启:
    	POP3/SMTP服务
    	IMAP/SMTP服务 
		Exchange服务
		
		并获取授权码,添加到/etc/gitlab/gitlab.rb的 gitlab_rails['smtp_password']
		

其它命令:
	gitlab-ctl status # 查看启动的进程
	gitlab-ctl start
	gitlab-ctl restart
	gitlab-ctl stop

gitlab的安装和使用

汉化(测试此版本的汉化与11.11.8版本的gitlab结合有点问题)

https://gitlab.com/xhang/gitlab

git clone -b 12-3-stable-zh https://gitlab.com/xhang/gitlab.git
cat /gitlab/VERSION

# 停止gitlab,进行中文汉化
	# 停止gitlab服务
	gitlab-ctl stop
	中文版覆盖英文版
	\cp -r gitlab/* /opt/gitlab/embedded/service/gitlab-rails/  # 出现log、tmp目录存在的错误可以忽略

	# 启动gitlab,验证汉化结果
	gitlab-ctl start
#如果有新成员需要加入该项目该怎么办?
    1.先给新成员创建用户;
    2.将成员加入组,此时该用户就能看到对应的项目;
    3.添加公钥,然后使用git clone测试是否能拉取代码;
    4.最后更新内容,测试能否进行任务提交。

gitlab数据备份和恢复、迁移和升级

1.停止gitlab数据服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

2.手动备份数据(备份的是gitlab中的项目)

vim /etc/gitlab/gitlab.rb
	gitlab_rails['manage_backup_path'] = true
	# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" # 默认备份的路径
	gitlab_rails['backup_path'] = /data/gitlab/backups
	gitlab_rails['backup_keep_time'] = 604800  # 默认的备份保留时间
gitlab-ctl reconfigure

# 手动执行备份命令,会将备份的结果存至/data/gitlab/backups
gitlab-rake gitlab:backup:create # 在任意目录即可备份当前gitlab数据
gitlab-ctl start # 备份完成后启动gitlab

数据被备份的位置: /var/opt/gitlab/backups/

# 设定一个定时任务,每天晚上的凌晨00:00备份
crontab -e
00 02 * * * gitlab-rake gitlab:backup:create &>/dev/null

3.gitlab恢复数据

/var/opt/gitlab/backups/ # gitlab数据备份目录
/var/opt/gitlab/nginx/conf # nginx配置文件
/etc/gitlab/gitlab.rb # gitlab配置文件
/etc/gitlab/gitlab-secrets.json # key文件

1.停止数据写入服务:
	gitlab-ctl stop unicorn
	gitlab-ctl stop sidekiq

2.通过gitlab-rake命令进行恢复,恢复时需要指定此前备份的名称。(但不需要些名称的.tar后缀):
	gitlab-rake gitlab:backup:restore BACKUP=1632798432_2021_09_28_11.11.8

3.为了保险起见,重启gitlab,检测是否恢复。
	gitlab-ctl start

gitlab的安装和使用

4.gitlab迁移

迁移如同备份与恢复的步骤一样,只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没有修改过默认备份目录的话)。

但是需要注意的是新服务器上的gitlab的版本必须与创建备份时的gitlab版本号相同。比如新服务器安装的是最新的10.8.3版本的gitlab,那么迁移之前,最好将老服务器的gitlab升级为10.8.3,基于最新版本的状态在进行备份。

/etc/gitlab/gitlab.rb gitlab配置文件须迁移,迁移后需要调整数据存放目录
/var/opt/gitlab/nginx/conf nginx配置文件目录须迁移

# 将旧机器上的备份文件同步过来后的操作步骤
gitlab-ctl stop unicorn
gitlab-ctl stop sidekip
chmod 777 /var/opt/gitlab/backups/1632798432_2021_09_28_11.11.8_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1632798432_2021_09_28_11.11.8

5.gitlab升级

1.关闭gitlab服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx

2.备份gitlab
gitlab-rake gitlab gitlab:backup:create

3.下载gitlab的RPM包并进行升级
# 直接安装高版本
yum install -y gitlab-ce-version-0.el7.x86_64
# 报错
Error executing action `run` on reesource 'ruby_block[directory resource:/var/opt/gitlab/git-data/repositories]'
# 解决办法:
chmod 2770 /var/opt/gitlab/git-data/repositories

4.启动并检查gitlab版本查看
gitlab-ctl reconfigure
gitlab-ctl restart
head -1 /opt/gitlab/version-manifest.txt

gitlab更改默认nginx

更换gitlab自带Nginx, 使用自行安装的Nginx来管理gitlab服务。

1.编辑gitlab配置文件禁用自带Nignx服务器
vi /etc/gitlab/gitlab.rb
...
#设置nginx为false,关闭自带Nginx
nginx['enable'] = false
...

2.检查默认nginx配置文件,并迁移至新Nginx服务
/var/opt/gitlab/nginx/conf/nginx.conf          #nginx配置文件,包含gitlab-http.conf文件
/var/opt/gitlab/nginx/conf/gitlab-http.conf    #gitlab核心nginx配置文件


3.重启nginx、gitlab服务
gitlab-ctl reconfigure
systemctl start nginx


访问报502。原因是nginx用户无法访问gitlab用户的socket文件。
重启gitlab需要重新授权
chmod -R o+x /var/opt/gitlab/gitlab-rails
上一篇:算法之字符串分割


下一篇:C++使用onnxruntime/opencv对onnx模型进行推理(附代码)