Gitlab 是什么?
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
Gitlab 架构图
二 centos7搭建gitlan
2.1.1 设置postfix开机自启,并启动,postfix支持gitlab发信功能
yum install curl policycoreutils openssh-server openssh-clients postfix -y vim /etc/postfix/main.cf queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix myhostname = mail.fatai.com mydomain = fatai.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost local_recipient_maps = [root@centos7 ~]# systemctl enable postfix.service [root@centos7 ~]# systemctl restart postfix.service [root@centos7 ~]# systemctl status postfix.service ● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2018-08-24 14:47:47 CST; 6s ago Process: 2717 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS) Process: 2715 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS) Process: 2710 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS) Main PID: 2789 (master) Tasks: 3 CGroup: /system.slice/postfix.service ├─2789 /usr/libexec/postfix/master -w ├─2790 pickup -l -t unix -u └─2791 qmgr -l -t unix -u
2.1.2 安装gitlab-ce
安装gitlab-ce最快速的解决方案是使用GitLab CE Omnibus package这个包,可以一站式的解决安装、配置、管理备份等需求:https://about.gitlab.com/downloads/#centos7
注:由于网络问题,国内用户,建议使用清华大学的镜像源进行安装,详情可以在这里找到:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
#使用国内yum源 [root@centos7 ~]# cat /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 [root@centos7 ~]# yum makecache [root@centos7 ~]# yum install gitlab-ce -y
2.1.3 配置并启动测试
gitlab设置域名,若是后期再设置,但是需要重启
[root@centos7 ~]# vim /etc/gitlab/gitlab.rb external_url 'http://192.168.10.247'
[root@centos7 ~]# gitlab-ctl reconfigure [root@centos7 ~]# gitlab-ctl start
设置密码,默认用户名:root
一般报错502别纠结,大多数都是内存不足,可设置虚拟内存来解决这个问题
Docker 安装gitlab
mkdir /data/{gitlab,jenkins}/{data,logs,config} -p docker pull gitlab/gitlab-ce:latest [root@centos7 ~]# docker run -it -d -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab -p 444:443 -p 81:80 -p 23:22 --name gitlab gitlab/gitlab-ce
配置过程同上
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