Gitlab 10.5版本的部署使用及汉化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gitlab 10.5版本的部署使用及汉化相关的知识,希望对你有一定的参考价值。

概述讲义:

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

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

这里要给大家分享的是搭建一个属于自己的Git仓库,也就是Gitlab。
GitLab对硬件还是有一定要求的,因Gitlab有多个job任务及进程,对内存是有要求的,建议1cpu以上,2G内存以上。

搭建前准备工作:这里是用Centos 7版本的系统
1、关闭防火墙
2、关闭SELinux
3、关闭NetworkManager

[[email protected] ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config 
[[email protected] ~]# 
[[email protected] ~]# setenforce 0
[[email protected] ~]# 
[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# systemctl disable NetworkManager 
[[email protected] ~]# systemctl disable iptables
[[email protected] ~]# systemctl stop iptables

安装Gitlab

使用在线yum安装Gitlab 和git工具集

[[email protected] ~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix 
[[email protected] ~]# systemctl restart postfix
[[email protected] ~]# systemctl enable postfix
[[email protected] ~]# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
[[email protected] ~]# yum install -y  gitlab-ce  git      --开始安装Gitlab 大约270M,耐心等待下就好了。

Gitlab 的常用命令

Gitlab命令分为两部分:通用命令 和服务管理命令
通用命令:
语法:gitlab-ctl 命令参数

命令参数如下:

help                  帮助

reconfigure       修改配置文件之后,需要重新加载下

show-config      查看所有服务配置文件信息

uninstall            卸载这个软件

cleanse            删除gitlab数据,重新白手起家

服务管理命令:

start               启动所有服务

stop               关闭所有服务

restart            重启所有服务

status            查看所有服务状态

tail                 查看日志信息

service-list     列举所有启动服务

graceful-kill    平稳停止一个服务

配置GitLab

安装完成后接下就是配置

[[email protected] ~]# gitlab-ctl reconfigure      --第一次加载配置的时候会很慢,耐心等待就好,直到加载完成。
...
... ...
... ... ...
... ... ... ...
...
Running handlers:
Running handlers complete
Chef Client finished, 2/516 resources updated in 09 seconds
gitlab Reconfigured!

加载完成后,开始启动Gitlab,GitLab默认会占用80、8080和9090端口

[[email protected] ~]# gitlab-ctl restart
ok: run: gitaly: (pid 42828) 0s
ok: run: gitlab-monitor: (pid 42852) 0s
ok: run: gitlab-workhorse: (pid 42858) 0s
ok: run: logrotate: (pid 42867) 0s
ok: run: nginx: (pid 42874) 0s
ok: run: node-exporter: (pid 42879) 0s
ok: run: postgres-exporter: (pid 42884) 1s
ok: run: postgresql: (pid 42894) 0s
ok: run: prometheus: (pid 42897) 0s
ok: run: redis: (pid 42907) 0s
ok: run: redis-exporter: (pid 42912) 1s
ok: run: sidekiq: (pid 42997) 0s
ok: run: unicorn: (pid 43007) 0s

[[email protected] ~]# lsof -i:80
COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   42874       root    7u  IPv4 125185      0t0  TCP *:http (LISTEN)
nginx   42875 gitlab-www    7u  IPv4 125185      0t0  TCP *:http (LISTEN)

[[email protected] web-demo]# lsof -i:8080
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bundle  40358  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40650  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40652  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)

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

汉化Gitlab

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

[[email protected] ~]# git clone https://gitlab.com/xhang/gitlab.git

如果要下载指定版本的汉化包,需要加上版本号。
例:下载10.5.1,命令如下:

[[email protected] ~]# git clone https://gitlab.com/xhang/gitlab.git  -b  v10.5.1-zh

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

[[email protected] ~]# gitlab-ctl stop
ok: down: gitaly: 0s, normally up
ok: down: gitlab-monitor: 0s, normally up
ok: down: gitlab-workhorse: 1s, normally up
ok: down: logrotate: 0s, normally up
ok: down: nginx: 1s, normally up
ok: down: node-exporter: 0s, normally up
ok: down: postgres-exporter: 1s, normally up
ok: down: postgresql: 0s, normally up
ok: down: prometheus: 0s, normally up
ok: down: redis: 0s, normally up
ok: down: redis-exporter: 1s, normally up
ok: down: sidekiq: 0s, normally up
ok: down: unicorn: 1s, normally up

[[email protected] ~]# cp -r -f  ./gitlab/*  /opt/gitlab/embedded/service/gitlab-rails/ 

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

在复制过程中提示,以下信息是正常的
技术分享图片

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

[[email protected] ~]# gitlab-ctl reconfigure      
...
... ...
... ... ...
... ... ... ...
...
Running handlers:
Running handlers complete
Chef Client finished, 2/516 resources updated in 09 seconds
gitlab Reconfigured!

[[email protected] ~]# gitlab-ctl restart
ok: run: gitaly: (pid 42828) 0s
ok: run: gitlab-monitor: (pid 42852) 0s
ok: run: gitlab-workhorse: (pid 42858) 0s
ok: run: logrotate: (pid 42867) 0s
ok: run: nginx: (pid 42874) 0s
ok: run: node-exporter: (pid 42879) 0s
ok: run: postgres-exporter: (pid 42884) 1s
ok: run: postgresql: (pid 42894) 0s
ok: run: prometheus: (pid 42897) 0s
ok: run: redis: (pid 42907) 0s
ok: run: redis-exporter: (pid 42912) 1s
ok: run: sidekiq: (pid 42997) 0s
ok: run: unicorn: (pid 43007) 0s

[[email protected] ~]# lsof -i:80
COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   42874       root    7u  IPv4 125185      0t0  TCP *:http (LISTEN)
nginx   42875 gitlab-www    7u  IPv4 125185      0t0  TCP *:http (LISTEN)

[[email protected] web-demo]# lsof -i:8080
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bundle  40358  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40650  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40652  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)

再次访问web界面,显示的已经为汉化熟悉的中文
技术分享图片

Gitlab私有仓库的使用

登陆进来Gitlab,创建一个项目,但创建项目前我们先创建一个组,让项目归属一个组里
技术分享图片

新建一个组
技术分享图片

在新建的dev-demo组里,创建一个项目
技术分享图片

创建一个项目
技术分享图片

在项目里创建一个README文件,一会用于测试用
在项目创建成功后,界面有提示要建ssh-key,这里先建自述文件,后面再来建ssh-key
技术分享图片

给README文件添加点内容
技术分享图片

技术分享图片

在工作区的Git服务器上创建key,再添加至Gitlab

配置注册Gitlab时发邮件确认

配置在Gitlab注册用户时的邮件发送确认动作

[[email protected] ~]# vi /etc/gitlab/gitlab.rb
    429  gitlab_rails[‘smtp_enable‘] = true
    430  gitlab_rails[‘smtp_address‘] = "smtp.qq.com"
    431  gitlab_rails[‘smtp_port‘] = 465
    432  gitlab_rails[‘smtp_user_name‘] = "[email protected]"
    433  gitlab_rails[‘smtp_password‘] = "QQ password"
    434  gitlab_rails[‘smtp_domain‘] = "qq.com"
    435  gitlab_rails[‘smtp_authentication‘] = "login"
    436  gitlab_rails[‘smtp_enable_starttls_auto‘] = true
    437  gitlab_rails[‘smtp_tls‘] = true
        438  gitlab_rails[‘gitlab_email_from‘] = ‘[email protected]

配置完成后,需要重新生成gitlab参数

[[email protected] ~]# gitlab-ctl reconfigure  

[[email protected] ~]# gitlab-ctl restart

[[email protected] ~]# lsof -i:80
COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   40422       root    7u  IPv4 117999      0t0  TCP *:http (LISTEN)
nginx   40423 gitlab-www    7u  IPv4 117999      0t0  TCP *:http (LISTEN)

[[email protected] ~]# lsof -i:8080
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bundle  40358  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40650  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)
bundle  40652  git   18u  IPv4 119105      0t0  TCP localhost:webcache (LISTEN)

设置注册Gitlab用户时发送邮件确认
技术分享图片

拉到最下面,点保存,再退出来,在登陆界面,注册一个新的帐号,会向你的注册时的邮箱发送一封确认的邮件
技术分享图片

以上是关于Gitlab 10.5版本的部署使用及汉化的主要内容,如果未能解决你的问题,请参考以下文章

centos 7部署并汉化Gitlab及基础操作

gitlab搭建部署及汉化

GitLab10安装-部署-汉化-备份-升级

GitLab安装与汉化-实战

docker部署gitlab CI/CD 第一篇:部署gitlab及汉化

安装gitlab并汉化