zoukankan      html  css  js  c++  java
  • gitlab部署及汉化

    Author:Mr.Gao

    Git 简介

    GitLab是一个开源版本管理系统,是集代码托管,测试,部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开的或私人项目。与Github类似,GitLab能够浏览代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本,并提供一个文件历史库。是目前非常流行好用的研发版本控制系统。

    Git有三个类分别为

    1. Git: 是本地版本控制系统工具。
    2. Github:是官方在线代码托管仓库,可自行注册使用,https://github.com
    3. GitLab:是自建的一个非官方的自有版本仓库。通俗一点就是公司内部的。

    这里要给大家分享的是搭建一个属于自己的Git仓库,也就是Gitlab。

    Gitlab对硬件还是有一定要求的,因Gitlab有多个job任务及进程,对内存是有要求的,建议1cpu以上,2G内存以上。

    部署

    前夕准备
    我们将在Centos 7下进行这次实践

    1. 关闭防火墙
    2. 关闭SELinux
    3. 关闭NetworkManager
    $ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
    $ setenforce 0
    $ systemctl stop NetworkManager
    $ systemctl disable NetworkManager 
    $ systemctl disable firewalld
    $ systemctl stop firewalld
    

    1. 配置yum源(推荐)

    添加gitlab源,我这里使用了清华大学的源

    $ cp -fr /etc/yum.repos.d /etc/yum.repos.d.bak
    
    $ cat >/etc/yum.repos.d/gitlab-ce.repo <<EOF
    [gitlab-ce]
    name=gitlab-ce
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
    repo_gpgcheck=0
    gpgcheck=0
    enabled=1
    gpgkey=https://packages.gitlab.com/gpg.key
    EOF
    

    2. 安装

    安装一些git工具包

    $ yum makecache
    $ yum -y install curl policycoreutils openssh-server openssh-clients postfix  cronie git wget patch
    $ systemctl restart postfix
    $ systemctl enable postfix
    $ #yum install gitlab-ce git    #自动安装最新版
    $ yum install gitlab-ce-12.3.5 git -y    #安装指定版本,我这里选用了v12.3.5
    

    安装完毕

    配置GitLab

    1、加载配置

    安装完成后,第一次加载配置的时候会很慢,耐心等待就好,直到加载完成。

    如果一直卡在ruby_block[......] action run,处理方法:
    按住CTRL+C强制结束
    运行:$ sudo systemctl restart gitlab-runsvdir
    再次执行: $ sudo gitlab-ctl reconfigure

    注意:在配置gitlab之前保证80端口没有被占用

    $ gitlab-ctl reconfigure
    

    加载完成后,开始启动Gitlab,GitLab默认会占用80、8080和9090端口,如果条件不允许使用80端口,请看下一节,否则可以忽略

    $ gitlab-ctl restart
    $ gitlab-ctl status
    

    开户访问web界面
    第一次访问,系统会要求重置新密码,管理员的用户名为root

    登录完成,点击右上角的Settings进行Preferences设置,在语言项选择中文,此时刷新后,可以看到标题和右侧的导航栏是变为中文的,但是具体的项目并没有中文显示,所以会变成中文+英文的LOW爆显示,后面将会介绍通过补丁/包进行gitlab完美汉化的教程。如图:

    2、修改git默认访问端口

    首先,停用gitlab,$ gitlab-ctl stop

    gitlab.rb

    用于gitlab如何调用80和8080的服务等

    $ cp -fr /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.gao-`date +%Y%m%d`
    $ sed -i 's#gitlab.example.com#YOUR_IP:12580#g'  /etc/gitlab/gitlab.rb    # "$YOUR_IP"请自行修改
    $ vim /etc/gitlab/gitlab.rb
    nginx['listen_port'] = 12580
    nginx['listen_https'] = false
    nginx['listen_addresses'] = ['*']
    unicorn['listen'] = '127.0.0.1'
    unicorn['port'] = 8088
    prometheus['listen_address'] = 'localhost:9099'
    

    unicorn.rb

    $ cp -fr /var/opt/gitlab/gitlab-rails/etc/unicorn.rb{,.gao-`date +%Y%m%d`}
    $ sed -i 's#8080#8088#g' /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
    

    gitlab-http.conf

    这个文件是gitlab内置的nginx的配置文件,里面可以影响到nginx真实监听端口号。

    $ cd /var/opt/gitlab/nginx/conf/
    $ cp -fr gitlab-http.conf gitlab-http.conf.gao-`date +%Y%m%d`
    $ vim gitlab-http.conf    #修改以下几行内容
    listen *:12580;
    server_name YOUR_IP;
    set $http_host_with_default "YOUR_IP:12580";
    

    giltab-shell

    $ vim /var/opt/gitlab/gitlab-shell/config.yml
    gitlab_url: "http://127.0.0.1:8088"    #unicorn_port
    

    3. 代码发布地址(域名)

    $ vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
    gitlab:
      ## Web server settings (note: host is the FQDN, do not include http://)
      host: YOUR_IP
      port: 12580
      https: false
    

    4. 服务验证

    $ gitlab-ctl reconfigure
    $ gitlab-rake gitlab:check SANITIZE=true --trace    #配置检查
    $ gitlab-ctl restart
    $ gitlab-ctl tail    #日志输出,可用于排错
    

    访问git地址:http://YOUR_IP:12580

    至此!gitlab安装完成,下面讲一下如何进行汉化


    汉化Gitlab(more)

    下载对应版本的汉化包
    Gitlab默认语言是英文,对于想加强英文的同学,建议继续使用英文,但要求使用中文,这里需要下载一个汉化包

    如果要下载指定版本的汉化包,命令如下:

    $ cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    12.3.5
    $ wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
    $ tar -zxf gitlab-v12.3.5-zh.tar.gz
    

    下载完成后,将下载的文件夹内容复制到gitlab目录下,复制前先停止Gitlab

    $ gitlab-ctl stop
    

    覆盖文件进行汉化

    汉化包和你的gitlab版本一定要一样

    $ cp -fr /opt/gitlab/embedded/service/gitlab-rails{,gao-`date +%Y%m%d`}    ##备份原文件
    $ cp -rf ./gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/
    
    

    复制时可能不断提示是否要覆盖,这时可能是系统每次执行cp命令时,其实是执行了cp -i命令的别名。出现这种情况可以修改~/.bashrc,在“alias cp=’cp -i’”前加#注释,再刷新文件 source ~/.bashrc

    在复制过程中提示,以下信息是正常的:

    cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘./log’
    cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘./tmp’
    

    复制完成后,需要重新加载配置,并启动Gitlab

    $ gitlab-ctl reconfigure    
    $ gitlab-ctl restart
    

    再次访问gitlab页面,就可以显示中文界面,如图:

     

  • 相关阅读:
    马哥学习笔记二十一——LVS DR模型
    马哥学习笔记二十——集群系列之LVS调度方法及NAT模型
    CCNA学习笔记九——访问控制列表(ACL)
    CCNA学习笔记八——动态路由协议
    CCNA学习笔记七——路由概述
    CCNA学习笔记六——网络层协议
    WPF点补间、拟合回归直线
    WPF三种基本触发器与【与或】逻辑触发器
    C#与mysql做ASP.NET网页数据库查询速度测试
    VS2013单元测试及代码覆盖率分析--Xunit
  • 原文地址:https://www.cnblogs.com/sunhongleibibi/p/12072689.html
Copyright © 2011-2022 走看看