环境:阿里云ESC  2核 4G

系统:CentOS 7.3

注意:如果部署成功,在外网访问不到,查看阿里云的安全组,开放出入端口,80端口是必须开放的,如果修改了gitlab的配置 http://xxx:123    地址中的端口也需要开放出来

 1、在 Centos 7系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口. 开启postfix 发送邮件(Centos 6 跳过防火墙设置步骤)

    安装依赖

sudo yum install curl policycoreutils openssh-server openssh-clients

      启动SSH

sudo systemctl enable sshd
sudo systemctl start sshd

    下载postfix并启动服务

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

    设置防火墙

sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

执行systemctl enable postfix 可能会报错如下图,是因为ipv6的原因,编辑hosts,用#号注释掉

配置gitlab ssh 22 修改为222 gitlab ssh端口_vim

vim /etc/hosts     //注释掉下面一行
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

执行sudo firewall-cmd --permanent --add-service=http
如果报错firewalld is not running 是因为防火墙没有开启 执行 systemctl start firewalld 开启防火墙

systemctl start firewalld

2、下载gitlab

官网国外的下载太慢,推荐使用清华的镜像

centos (内核7.x)https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
centos (内核6.x)https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6

根据需要选择的版本进行安装,担心迭代的最新版有坑,一般选择都是最新版的前一版,我这里选择了10.2.5 版,10.2.x的最后一版。最新已经到了10.3.x

执行下面的命令 下载安装gitlab,下载到哪个文件路径下按个人喜好

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.5-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-10.2.5-ce.0.el7.x86_64.rpm

    3、修改gitlab的配置

  将external_url变量的地址修改为gitlab所在centos的ip地址

vim /etc/gitlab/gitlab.rb

  执行vim,搜索external_url 定位到变量位置,修改访问地址,这里可以用IP,gitlab默认会监听所有端口,也可以IP+端口号 指定端口

配置gitlab ssh 22 修改为222 gitlab ssh端口_vim_02

  4、启动gitlab,每次修改完配置都必须执行,不然修改无效

gitlab-ctl reconfigure
gitlab-ctl restart

  

配置gitlab ssh 22 修改为222 gitlab ssh端口_vim_03

  启动成功,输入地址访问,第一次打开gitlab账号默认root,需要设置密码,登录即可。

 5、汉化

  先停掉已经开启的gitlab

gitlab-ctl stop

  可以查询gitlab版本,下载对应的汉化包

head -1 /opt/gitlab/version-manifest.txt

   根基自己的习惯找个路径拉取汉化库,需要先按照git

yum install -y git

  获取汉化库

git clone https://gitlab.com/xhang/gitlab.git

  也可以获取指定版本库

git clone https://gitlab.com/xhang/gitlab.git -b v10.2.5-zh

  比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下 (路径根基自己实际情况来)

git diff v10.2.5 v10.2.5-zh > ../10.2.5-zh.diff

  cd 到 10.2.5-zh.diff 文件的路径下,将汉化补丁更新到github中

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.2.5-zh.diff

  执行会出现以下页面效果,一大堆修复补丁加进去,之后重启服务就可以了

配置gitlab ssh 22 修改为222 gitlab ssh端口_vim_04

  重启gitlab

gitlab-ctl start
gitlab-ctl reconfigure

 6、gitlab使用个人qq邮箱作账号发送验证邮件

生成授权码

 

配置gitlab ssh 22 修改为222 gitlab ssh端口_重启_05

修改配置文件

vi gitlab.rb

 

将这个段加到配置文件最后面

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxxx@qq.com'

 

 

 重启gitlab