CentOS7安装GitLab、汉化、邮箱配置及使用

一.GitLab简介

GitLab是利用Ruby On Rails开发的一个开源版本管理系统,实现了一个自托管的Git项目仓库,是集代码托管,测试,部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开的或私人项目。与Github类似,GitLab能够浏览代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本,并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后需要的时候查找。

Git的家族成员:

  • Git:是一种版本控制系统,是一个命令,是一种工具。
  • Gitlib:是用于实现Git功能的开发库。
  • Github:是一个基于Git实现的在线代码托管仓库,公开项目是免费的,也可以付费创建私人项目。
  • GitLab:是一个基于Git实现的在线代码仓库托管软件,可以用GitLab搭建一套类似Github的系统。

GitLab对硬件还是有一定要求的,1核心的CPU基本上可以满足需求,大概支撑100个左右的用户,不过在运行GitLab网站的同时还需要运行多个后台job,就会显得有点捉襟见肘了。需要至少4GB的可寻址内存(RAM交换)来安装和使用GitLab,操作系统和任何其他正在运行的应用程序也将使用内存,因此请记住,在运行GitLab之前,您至少需要4GB的可用空间。如果使用更少的内存,GitLab将在重新配置运行期间给出奇怪的错误,我用虚拟机来分别新建1G,2G内存的CentOS系统来装GitLab,确实非常捉襟见肘啊,伤不起。

二.GitLab的安装

1.在CentOS系统上,下面的命令将会打开系统防火墙HTTP和SSH访问。

sudo yum install curl policycoreutils openssh-server openssh-clients

sudo systemctl enable sshd

sudo systemctl start sshd

sudo yum install postfix

sudo systemctl enable postfix

sudo systemctl start postfix

sudo firewall-cmd --permanent --add-service=http

sudo systemctl reload firewalld

2.添加GitLab镜像源并安装

curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash

这是官方的yum源,安装速度会比较慢,可以使用国内源,修改如下文件即可:

vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

修改内容如下:

[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

然后执行:

sudo yum install gitlab-ce
#配置并启动 GitLab
sudo gitlab-ctl reconfigure

安装成功会有如下提示:

3.第一次访问GitLab,系统会重定向页面到重定向到重置密码页面,你需要输入初始化管理员账号的密码,管理员的用户名为root,初始密码为5iveL!fe。重置密码后,新密码即为刚输入的密码。

三.GitLab的汉化

成功安装GitLab后,很多朋友会想到汉化,当然如果团队里英文水平都不错的话,是没必要汉化的。

GitLab中文社区的项目,v7-v8.8是由Larry Li发起的“GitLab中文社区版项目”(https://gitlab.com/larryli/gitlab),从v8.9之后由@xhang开始继续汉化项目(https://gitlab.com/xhang/gitlab)。

mkdir /home/local/gitlab
cd /home/local/gitlab

如没安装git,需提前安装:

yum install -y git

下载最新的汉化包:

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

如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载10.0.2,可以运行如下语句:

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

停止GitLab并执行如下语句:

gitlab-ctl stop
cp  /home/local/gitlab/*  /opt/gitlab/embedded/service/gitlab-rails/  -rf

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

复制可能出现如下提示,可以不用理会。

注释后记得执行:

source ~/.bashrc

或者重启即可。

接下来可以重新配置和启动:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart 

成功汉化后的界面如下:

四.GitLab的命令

语法:

gitlab-ctl command (subcommand)

Service Management Commands

start

启动所有服务

stop

关闭所有服务

restart

重启所有服务

status

查看所有服务状态

tail

查看日志信息

service-list

列举所有启动服务

graceful-kill

平稳停止一个服务

例子:

1234567891011

#启动所有服务[root@gitlab ~]# gitlab-ctl start #启动单独一个服务[root@gitlab ~]# gitlab-ctl start nginx #查看日志,查看所有日志[root@gitlab ~]# gitlab-ctl tail #查看具体一个日志,类似tail -f[root@gitlab ~]# gitlab-ctl tail nginx

General Commands

help

帮助

reconfigure

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

show-config

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

uninstall

卸载这个软件

cleanse

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

例子:

 #显示所有服务配置文件
[root@gitlab ~]#gitlab-ctl show-config

#卸载gitlab
[root@gitlab ~]#gitlab-ctl uninstall

五.QQ邮箱配置

默认情况下,GitLab用qq邮箱注册是发不出确认邮件的。查看了网上很多邮箱配置的教程,大部分都是误导的。

像这类软件,归根到底总结为一句话:一切以官网文档为准

qq邮箱最好用企业邮箱,本人用个人邮箱进行测试是有些小问题的。

正确配置如下:

# vim /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"

gitlab_rails['smtp_port'] = 465

gitlab_rails['smtp_user_name'] = "xxxx@xx.com"

gitlab_rails['smtp_password'] = "password"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

gitlab_rails['smtp_tls'] = true

gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'

参考:https://www.gitlab.cc/installation/#centos-7 https://yq.aliyun.com/articles/74395

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏空帆船w

如何快速上传开源项目至 Jcenter

前几天上传了个项目至 Jcenter,看了网上很多教程,基本都是以 gradle-bintray-plugin 这个插件做上传,教程看着都好费劲,对于新手来说真...

1132
来自专栏菩提树下的杨过

基于thrift的微服务框架

前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍...

29310
来自专栏静下来

ECSHOP整合百度ueditor编辑器方法 支持远程图片本地化

image.png ECSHOP商城自带的编辑器实在是不能忍,太难用了。 就换成了百度的ueditor编辑器,本来最近修改了几个商城的,索性自己也记录一次吧。 ...

3256
来自专栏猿人谷

CentOS7安装GitLab、汉化、邮箱配置及使用

一.GitLab简介 GitLab是利用Ruby On Rails开发的一个开源版本管理系统,实现了一个自托管的Git项目仓库,是集代码托管,测试,部署...

2277
来自专栏我是攻城师

关于elaticsearch中更新数据的几种方式

3325
来自专栏云计算教程系列

在服务器上安装维护你的MongoDB数据库

MongoDB是一个免费的开源NoSQL文档数据库,在Web应用程序中经常使用。在本教程中,您将安装MongoDB,学习如何管理其服务并启用远程访问。

1412
来自专栏hrscy

记录网站诞生过程-使用hexo+github pages

此博客记录了搭建网站的详细过程,以及建站过程中遇到的一些坑。博客介绍了安装homebrew,nodejs,hexo,域名注册,github设置,DNS解析等过程...

963
来自专栏菩提树下的杨过

基于thrift的微服务框架

前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍...

2038
来自专栏java一日一条

Git常用命令使用大全

目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂。我整理了一份关于Git的学习资料,希望能帮助到正在学习...

661
来自专栏JavaEE

nginx+vsftp搭建图片服务器前言:简介:nginx的安装:vsftp的安装:配置nginx为图片服务器:总结:

5095

扫码关注云+社区