安装GitLab及简单使用

2023-05-16

系统:CentOS 7.3x64
配置gitlab源

到/etc/yum.repos.d目录下新建gitlab-ce.repo文件,

[gitlab-ce]  
name=gitlab-ce  
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7  
repo_gpgcheck=0  
gpgcheck=0  
enabled=1  
gpgkey=https://packages.gitlab.com/gpg.key  

安装gitlab

yum makecache
yum install -y gitlab-ce
gitlab-ctl reconfigure

服务控制 启动 | 重启 | 停止

 gitlab-ctl start | restart | stop

启动后CPU 内存占用过高的处理:

修改/etc/gitlab/gitlab.rb中的unicorn值 unicorn[‘worker_processes’] = 2
配置SMTP发送邮件

我用的是腾讯企业邮箱,注释部分请参考对应邮件系统设置
在/etc/gitlab/gitlab.rb中的smtp段增加如下内容
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_user_name’] = “user@qq.cn”
gitlab_rails[‘smtp_password’] = “12345678”
gitlab_rails[‘smtp_domain’] = “smtp.exmail.qq.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = false //腾讯企业邮箱没有该功能,所以是false
gitlab_rails[‘smtp_ssl’] = true //腾讯企业邮箱支持SSL,需要开启
gitlab_rails[‘gitlab_email_from’] = ‘ituser@lsfi.cn’ //发送显示名称
gitlab_rails[‘gitlab_email_reply_to’] = ‘ituser@lsfi.cn’//回复显示地址
改完配置文件需要关闭服务执行reconfigure命令,然后再重启服务

gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

可以通过以下命令测试是否配置成功

 gitlab-rails console
 > Notify.test_email('user@qq.cn', '邮件标题', '邮件内容').deliver_now

配置通过nginx代理访问

因为本身通过yum安装就会一并安装很多服务,而且会自带安装一个nginx服务。如果服务器本身还有其它服务,特别是80端口被占用的情况下,就需要对配置文件进行修改,尽量让外网不添加额外端口
继续修改/etc/gitlab/gitlab.rb配置文件,找到external_url 和nginx[‘listen_port’] =这两个配置,按如下进行设置

external_url 'http://gitlab.domain.com'    //对外访问的URL
nginx['listen_port'] = 5080        //gitlab自带的nginx端口修改

注:如果不想通过nginx再做一次代理,可以不修改nginx[‘listen_port’] = 这个配置,只修改external_url ‘’,例如

external_url 'http://gitlab.domain.com:5080'    //端口号跟其它服务不冲突即可。这样访问就要加端口号

改完配置文件同样需要关闭服务执行reconfigure命令,然后再重启服务

gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

在用来做外网访问的nginx服务上增如下配置,实现外网访问

server {
    listen 80;
    server_name    gitlab.domain.com;
    location / {
        proxy_pass http://127.0.0.1:5080; 
    }
}

Gitlab 创建备份

使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1519370071_2018_02_23_10.1.0_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分.
Gitlab 修改备份文件默认目录

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.
Gitlab 自动备份

也可以通过crontab使用备份命令实现自动备份:

crontab -e
加入以下, 实现每天凌晨2点进行一次自动备份:

0 2 */1 * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

Gitlab 恢复

同样, Gitlab的从备份恢复也非常简单:
停止相关数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

从1519370071_2018_02_23_10.1.0编号备份中恢复

gitlab-rake gitlab:backup:restore BACKUP=1519370071_2018_02_23_10.1.0

启动Gitlab

gitlab-ctl start

Gitlab迁移

迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.
Git部分操作:

通过ssh必须用证书和SSH端口,如果SSH端口不是默认,必须要加上端口号,

git clone ssh://git@test.domain.com:1250/root/test.git
git clone http://gitlab.domain.com/root/test.git
git add file1 file2
git commit -m "frist commit"
git pull origin master
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装GitLab及简单使用 的相关文章

随机推荐