ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gitlab的安装和使用

2021-10-13 20:02:06  阅读:223  来源: 互联网

标签:opt 备份 gitlab rails nginx 使用 ctl 安装


目录

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

汉化(测试此版本的汉化与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

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

标签:opt,备份,gitlab,rails,nginx,使用,ctl,安装
来源: https://www.cnblogs.com/zhangchaocoming/p/15403986.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有