提前备好centos7环境,下面两种安装方式,选择其中一种即可
1、安装方式1
按以下命令顺序执行
配置yum源
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
更新本地yum缓存
yum makecache
安装GitLab社区版
yum install gitlab-ce #自动安装最新版本
注:若需安装指定版本,则添加版本号即可,即yum install gitlab-ce-x.x.x
如下载到一半报错,则继续执行yum install gitlab-ce命令,会重新下载或者继续下载。
2、安装方式2
一、 安装并配置必要的依赖关系
在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。
注意:用户不是管理员权限,出现如下警告
用户不在sudoers文件中此事将被报告
可以使用 su root 切换root权限
1.安装ssh
sudo yum install -y curl policycoreutils-python openssh-server
若出现以下图片的信息则表示成功
2.将SSH服务设置成开机自启动,安装命令:sudo systemctl enable sshd
3.启动SSH服务,安装命令:sudo systemctl start sshd
4.添加http服务到firewalld,pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效。
sudo firewall-cmd --permanent --add-service=http
5.重启防火墙,安装命令:sudo systemctl reload firewalld
6.接下来,安装Postfix以发送通知邮件,安装命令:sudo yum install postfix
7.将postfix服务设置成开机自启动,安装命令:sudo systemctl enable postfix
8.启动postfix,安装命令:sudo systemctl start postfix
在安装Postfix期间,可能会出现配置屏幕。选择“Internet Site”并按enter键。使用您的服务器的外部DNS以“mail name”并按enter。如果出现额外的屏幕,继续按enter键接受默认值。
9.wget 用于从外网上下载插件
检查系统中是否已经安装wget,使用命令若出现下图wget相关版本描述则说明系统中已经安装wget 若报系统找不到命令说明wget未安装
若wget未安装则进行安装,安装命令:yum -y install wget
二、添加GitLab镜像源并安装gitlab服务器
1.添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
2.安装gitlab 安装命令:rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
出现gitlab图标则表示安装完成
3、安装完成、常用命令介绍
两种安装方式选择其中一种都可以安装成功
如出现502错误,则可能是端口号冲突
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
# 启动服务;(重新加载配置文件,在GitLab初次安装后可以使用,但是在业务环境中不可随意使用,reconfigure会把一些过去的config
# 还原,导致修改的端口以及域名等都没有了。)
gitlab-ctl reconfigure
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
4、配置文件修改
安装完成后需修改配置文件,否则可能无法访问
1、修改gitlab配置文件指定服务器ip和自定义端口:
vi /etc/gitlab/gitlab.rb
也可以通过下面的方式进行更改
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: centos7的ip地址
port: 自定义端口
https: false
按上面两种方式修改完成后执行下面命令
gitlab-ctl reconfigure
gitlab-ctl restart
稍等1分钟后,在浏览器上输入ip和端口号进行访问
5、访问gitlab
第一次访问会要求重置密码
设置完成后跳往登录页面
默认账号是root,密码为你重置的密码
至此,gitlab安装完成
6、GitLab的备份与恢复
GitLab创建备份
gitlab-rake gitlab:backup:create
使用以上命令会默认在/var/opt/gitlab/backups目录下创建一个名称类似为1520580592_2018_03_09_10.5.3_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1520580592_2018_03_09_10.5.3是备份创建的日期。
删除project
点击创建的project页面下方的“Remove project”按钮,删除project。
此时已无project
GitLab恢复
停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
从1520580592_2018_03_09_10.5.3编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1520580592_2018_03_09_10.5.3
启动Gitlab
gitlab-ctl start
查看GitLab页面中是否恢复project。
7、修改仓库的默认路径
vi /etc/gitlab/gitlab.rb
# git_data_dirs({
# "default" => {
# "path" => "/mnt/nfs-01/git-data"
# }
# })
git_data_dir "/data/gitlab" >>此处添加自定义的仓库路径,目录需提前创建
停止当前gitlab,重新加载配置
gitlab-ctl stop
gitlab-ctl reconfigure
重新加载后,会发现在/data/gitlab目录下多出一个repositories目录
最后启动gitlab即可
gitlab-ctl start
8、参考资料
配置ssh的步骤:
https://blog.csdn.net/xyzchenxiaolin/article/details/51852333
1、修改端口,不要冲突
有时不仅需要修改external_url的端口,还要修改unicorn
https://blog.csdn.net/fengchao2016/article/details/77851234
2、修改git文件存放路径
https://www.cnblogs.com/dieyaxianju/p/7586203.html
3、设置发送邮件的功能
参考链接:http://www.fayfox.com/post/39.html
邮箱配置官方文档:https://docs.gitlab.com/omnibus/settings/smtp.html#mandrill
安装后的测试:https://blog.csdn.net/yelllowcong/article/details/79939589
如果测试不成功,请参照这篇文章:https://ruby-china.org/topics/20450(要将身份验证帐号和发件人保持一致。)
9、ssh keys配置
ls -al ~/.ssh
ssh-keygen -t rsa -C ”邮件地址” #一直回车
#打开id_rsa.pub文件,全部内容即为keys。
如图