一、环境准备
以centos7为例,准备一台4G内存以上的虚拟机
二、安装依赖条件
[root@localhost ~]# sudo yum install -y git vim gcc glibc-static telnet
[root@localhost ~]# sudo yum install -y curl policycoreutiels-python openssh-server
[root@localhost ~]# sudo systemctl enable sshd
[root@localhost ~]# sudo systemctl start sshd
[root@localhost ~]# sudo yum install postfix -y
[root@localhost ~]# sudo systemctl enable postfix
[root@localhost ~]# sudo systemctl start postfix => 启动SSH远程服务
[root@localhost ~]# systemctl stop firewalld => 停止Firewalld防火墙服务
[root@localhost ~]# systemctl disable firewalld => 禁用Firwalld防火墙服务开机自启
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux => 关闭SeLinux(重启主机生效)
[root@localhost ~]# setenforce 0
3、安装国内源
建议使用清华源
[root@localhost ~]# vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
[root@localhost ~]# yum makecache
4、安装Gitlab
可以访问"https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/"查看Gitlab-ce的版本。
安装历史版本请使用下面命令:
[root@localhost ~]# yum install -y gitlab-ce-{VERSION}
安装:
[root@localhost ~]# yum install -y gitlab-ce
5、配置Gitlab
[root@localhost ~]# vim /etc/gitlab/gitlab.rb
### 基础配置 ###
external_url ‘http://gitlab.example.com/’
#用户访问所使用的URL,域名或者IP地址
gitlab_rails[‘time_zone’] = ‘Asia/Shanghai’
#时区
### SSH配置 ###
gitlab_rails['gitlab_shell_ssh_port'] = 10222
#使用SSH协议拉取代码所使用的连接端口。
### 邮箱配置 ###
gitlab_rails['smtp_enable'] = true
#启用SMTP邮箱功能,绑定一个第三方邮箱,用于邮件发送
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
#设置SMTP服务器地址
gitlab_rails['smtp_port'] = 465
#设置SMTP服务器端口
gitlab_rails['smtp_user_name'] = "gitlab@163.cn"
#设置邮箱账号
gitlab_rails['smtp_password'] = "123456"
#设置邮箱密码
gitlab_rails['smtp_authentication'] = "login"
#设置邮箱账号密码身份验证方式,"login"表示采用账号密码的方式登陆
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
#设置开启SMTP邮件使用TLS传输加密协议传输邮件,以保证邮件安全传输
gitlab_rails['gitlab_email_from'] = 'gitlab@163.cn'
#设置Gitlab来源邮箱地址,设置登陆所使用的邮箱地址
### WEB配置 ###
nginx['enable'] = true
#启用Nginx服务
nginx['client_max_body_size'] = '250m'
#设置客户端最大文件上传大小
nginx['redirect_http_to_https'] = true
#设置开启自动将HTTP跳转到HTTPS
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.cn.pem"
#设置HTTPS所使用的证书
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.example.cn.key"
#设置HTTPS所使用的证书密码
nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"
#设置HTTPS所使用的TLS协议版本
nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
#设置开启SSL会话缓存功能
nginx['ssl_session_timeout'] = "5m"
#设置SSL会话超时时间
nginx['listen_addresses'] = ['*', '[::]']
#设置Nginx监听地址,"*"表示监听主机上所有网卡的地址
nginx['gzip_enabled'] = true
#设置开启Nginx的传输压缩功能,以节约传输带宽,提高传输效率
6.上传ssl证书到指定目录
[root@localhost ~]# ll /etc/gitlab/ssl/
drwxr-xr-x 2 root root 4096 Aug 25 11:48 ./
drwxrwxr-x 4 root root 4096 Aug 25 12:50 ../
-rw-r--r-- 1 root root 1675 Aug 25 11:45 gitlab.xxx.cn.key
-rw-r--r-- 1 root root 3671 Aug 25 11:45 gitlab.xxx.cn.pem
7.刷新配置
当配置文件发生变化时,或者是第一次启动时,我们需要刷新配置。
[root@localhost ~]# systemctl restart gitlab-runsvdir
[root@localhost ~]# gitlab-ctl reconfigure
8。启动服务
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# gitlab-ctl status
9、测试邮件发送
[root@localhost ~]# gitlab-rails console
irb(main):001:0> Notify.test_email('邮箱地址', '标题', '内容').deliver_now
irb(main):002:0> exit
10、第一次访问登陆
11.关闭用户注册功能
12.设置语言为简体中文
使用流程
创建组
创建成员并且加入组
Gitlab 配置SSH keys。
1.进入用户设置, 找到SSHkeys
2.点击右侧 Add SSH Key
3.输入上一步生成的key
4.点击Add key 即添加成功一个key
继续添加人员
新建项目和规则
新建项目规则 项目经理制定开发计划–分配任务
项目检出 以tom为例
把TortoiseGit设置网络里面的ssh客户端位置C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe
创建分支和切换分支
提交,发送请求合并
Gitlab备份与恢复
备份管理 配置文件中加入:
# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800
恢复管理
停止数据写入服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore