一. 环境准备
操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1708.iso)
CPU:2核
内存:6G
1.1 更换阿里yum(个人习惯)
步骤:
1)下载wget
Yum install -y wget
2)备份默认的yum
mv/etc/yum.repos.d /etc/yum.repos.d.backup
3)设置新的yum目录
mkdir /etc/yum.repos.d
4)下载阿里yum配置到该目录
wget -O
/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5)重建缓存
yum clean all
yum makecache
6)升级所有包(改变软件设置和系统设置,系统版本内核都升级,故需要几分钟耐心等待)
1.2安装vim(个人习惯)
yuminstall -y vim
二.获取gitlab汉化包(要部署非汉化版,可以跳过这一块内容)
2.1安装git
yuminstall -y git
2.2克隆获取汉化版本库
下载最新的汉化包
gitclonehttps://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,比如今天已经是10.0.4,我依旧想下载10.0.2,可以运行下面的语句
gitclone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
2.3查看该汉化补丁的版本
catgitlab/VERSION
三.部署社区版gitlab
3.1安装gitlab的依赖
yum install -ycurl openssh-server openssh-clients postfix cronie policycoreutils-python
//10.x以后开始依赖policycoreutils-python, 9.x时还没有依赖该项。
3.2启动postfix,并设为开机启动
systemctlstart postfix
systemctl enable postfix
注:通过systemctl
status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
3.3 设置防火墙
firewall-cmd--add-service=http --permanent
firewall-cmd –reload
注:启动postfix的时候报错:vim
/etc/postfix/main.cf的设置
inet_protocols = ipv4
inet_interfaces = all
3.4 获取gitlab的rpm包
途径1: 通过清华开源镜像站
查看清华开源镜像站,有我需要的10.0.2的rpm包。
获取rpm包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
途径2: 从官方获取rpm包后上传到/root目录下
官方下载:https://packages.gitlab.com/gitlab/gitlab-ce/
因为要在centos7上安装版本10.0.2的gitlab,故找到gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm下载到本地后,通过Bitvise SSH Client工具将rpm包上传到gitlab虚拟机的/root目录下。
说明:从下载速度和方便程度来说,走清华的镜像站的方式更优,但是我2017/10/20想下载gitlab10.0.4时,发现清华的镜像站最新只有10.0.3,故在增补“途径2”获取最新的安装包。
3.5安装rpm包
rpm-i gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
根据提示,继续执行指令配置gitlab
gitlab-ctl reconfigure
注:在卸载gitlab然后再次安装执行sudo
gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep]
action run,会一直卡无法往下进行!
解决方案:
1、按住CTRL+C强制结束;
2、运行:sudo systemctl restart
gitlab-runsvdir;
3、再次执行:sudo gitlab-ctl reconfigure
3.6 修改配置文件gitlab.rb
vim/etc/gitlab/gitlab.rb
将external_url变量的地址修改为gitlab所在centos的ip地址。
因为修改了配置文件,故需要重新加载配置内容。
gitlab-ctlreconfigure
gitlab-ctlrestart
3.7 查看gitlab版本
head-1 /opt/gitlab/version-manifest.txt
四.覆盖汉化包
4.1停止gitlab服务
gitlab-ctlstop
4.2切换到gitlab汉化包所在的目录(即步骤二获取的汉化版gitlab)
cd /root/gitlab
4.3 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
gitdiff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
4.4 回到/root目录
Cd
4.5 将10.0.2-zh.diff作为补丁更新到gitlab中
yuminstall patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 <10.0.2-zh.diff
4.6启动gitlab
gitlab-ctlstart
4.7重新配置gitlab
gitlab-ctlreconfigure
五.设置管理员密码
管理员账号登录的用户名:root
(虽然登录后管理员的用户名为Administrator,但是实际登录的用户名是root)
方法一:网页方式
浏览器访问gitlab所在的ip,输入密码后点击 “Change your password”(如果进行汉化,点击“修改密码”)。
方法二:指令方式
gitlab-railsconsole production
稍等一会后会出现
irb(main):001:0> user =User.where(id: 1).first // id为1的是超级管理员
irb(main):002:0>user.password= 'yourpassword' //密码必须至少8个字符
irb(main):003:0>user.save! //如没有问题 返回true
exit //退出