Centos7安装配置Gitlab-CE

GitLab介绍

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。
版本:GitLab 分为社区版(CE) 和企业版(EE)。
配置:建议CPU2核,内存2G以上。

Gitlab的服务构成:

Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby)
gitlab-workhorse: 轻量级的反向代理服务器。(go)

GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push/pull和Git包下载。其它请求会反向代理到GitLab Rails应用,即反向代理给后端的unicorn。

logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)

GitLab安装

1.源码安装

2.yum安装

官方源地址:https://about.gitlab.com/downloads/#centos6
清华大学镜像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce

cat> /etc/yum.repos.d/gitlab-ce.repo<< EOF
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/  
gpgcheck=0
enabled=1
EOF

安装依赖

yum install curl policycoreutils-python openssh-server
 

再执行

    yum makecache
    yum install gitlab-ce
    gitlab-ctl reconfigure  #Configure and start GitLab
更改访问地址url

  vim /etc/gitlab/gitlab.rb

  

配置邮件:

 1 gitlab_rails['smtp_enable'] = true
 2 gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
 3 gitlab_rails['smtp_port'] = 465
 4 gitlab_rails['smtp_user_name'] = "########.cn"
 5 gitlab_rails['smtp_password'] = "#########"
 6 gitlab_rails['smtp_authentication'] = "login"
 7 gitlab_rails['smtp_enable_starttls_auto'] = true
 8 gitlab_rails['smtp_tls'] = true
 9 gitlab_rails['gitlab_email_from'] = '##########'
10 gitlab_rails['smtp_domain'] = "exmail.qq.com"

配置生效

1  #使配置生效
2     gitlab-ctl reconfigure
3     #重新启动GitLab 
4     gitlab-ctl restart

GitLab备份和恢复

备份

# 可以将此命令写入crontab,以实现定时备份
    /usr/bin/gitlab-rake gitlab:backup:create


#备份的数据会存储在/var/opt/gitlab/backups,用户通过自定义参数 gitlab_rails['backup_path'],改变默认值。

恢复

  

 1 # 停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
 2     sudo gitlab-ctl stop unicorn
 3     sudo gitlab-ctl stop sidekiq
 4     
 5     # 进入备份目录进行恢复,1476900742为备份文件的时间戳
 6     cd /var/opt/gitlab/backups
 7     gitlab-rake gitlab:backup:restore BACKUP=1476900742
 8     cd -
 9     
10     # 启动unicorn和sidekiq
11     sudo gitlab-ctl start unicorn
12     sudo gitlab-ctl start sidekiq

GitLab常用命令

1 gitlab-ctl start    # 启动所有 gitlab 组件;
2     gitlab-ctl stop        # 停止所有 gitlab 组件;
3     gitlab-ctl restart        # 重启所有 gitlab 组件;
4     gitlab-ctl status        # 查看服务状态;
5     vim /etc/gitlab/gitlab.rb        # 修改gitlab配置文件;
6     gitlab-ctl reconfigure        # 重新编译gitlab的配置;
7     gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
8     gitlab-ctl tail        # 查看日志;
9     gitlab-ctl tail nginx/gitlab_access.log

注意:执行 reconfigure 命令会把gitlab的nginx组件的配置还原,导致自定义修改的端口以及域名等都没有了。  

原文地址:https://www.cnblogs.com/cy0917/p/10281375.html