一、安装要求
本文的操作学习是建立在centos7、Docker上的,如果没有centos7服务器或者安装Docker的话,可以查看Centos7服务器搭建、搭建Docker环境这两篇文章。
二、安装
1、下载gitlab镜像
docker pull gitlab/gitlab-ce:12.3.5-ce.0
2、查看gitlab镜像
docker images
3、创建gitlab的配置(etc)、日志(log)、数据(data)目录
为了方便日后升级,因此这三个目录要放在docker外面;另外gitlab挂载宿主机目录后,可以映射配置文件、数据文件、日志文件到宿主机,后续可以直接在宿主机查看,方便操作。
mkdir -p /data/docker/gitlab/{etc,data,log}
参数说明:
- -p: 创建目录及子目录
- -m:创建指定权限的目录
4、创建gitlab容器
docker run -d --name qz-gitlab --hostname 192.168.10.234 --restart always -p 443:443 -p 80:80 -p 2222:22 -v /data/docker/gitlab/etc:/etc/gitlab -v /data/docker/gitlab/data:/var/opt/gitlab -v /data/docker/gitlab/log:/var/log/gitlab gitlab/gitlab-ce:12.3.5-ce.0
192.168.10.234是centos服务器的ip地址。另外需要注意:-p 80:80,这两个端口映射需要保持一致,如果不一致会导致无法克隆项目代码,包括--hostname,如果端口是80可以只配置IP,但如果-p 8888:8888,则hostname也需要设置成:192.168.10.234:8888
说明:
- -d(--detach):后台运行
- --name:设置容器的名字;
- --hostname:设置容器内主机的名字,就是clone代码时的地址; 如果服务器ip发生了变化,导致无法pull/push代码,我们只需要通过:vi /data/docker/gitlab/etc/gitlab.rb命令编辑配置文件中的external_url,将其设置为:http://当前服务器ip,然后用:docker restart qz-gitlab(或容器ID)重启gitlab容器即可,例如我的Gitlab服务器IP变成了192.168.43.228,则如下图修改即可:
- --restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;
- -p(--publish):映射端口,形式:[hostPort:]containerPort,如果不加主机端口,那么会在主机上生成随机端口;ssh的22端口映射为2222端口,web访问的80端口映射为8888端口
- -v(--volume):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;
5、查看容器启动信息
docker ps
6、访问登录gitlab
访问:http://192.168.10.234,如下图:
以上需要我们设置登录密码,账号名称是:root,设置完毕密码后我们就可以登录了。
三、汉化
1、查看gitlab版本
有两种方式,第一种方式:
docker images
第二种方式:
我们需要通过/bin/bash命令进入gitlab容器:
docker exec -it qz-gitlab /bin/bash
然后执行以下命令查看gitlab的版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2、下载汉化包
访问https://gitlab.com/xhang/gitlab/下载对应版本的汉化包,由于我虚拟机服务器网速较慢,我是先将汉化包下载到了本地,我这里下载的是12-3-stable-zh版。如果网速给力的话,大家也可以直接下载到服务器,使用以下命令即可:
# 使用wget获取具体的版本
wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
# 或者用git获取大版本
git clone -b gitlab-12-3-stable-zh https://gitlab.com/xhang/gitlab/
3、上传汉化压缩包并解压
通过rz+回车或其他方式,将下载的压缩包上传到虚拟机服务器。使用rz命令需要安装lrzsz插件,安装教程点此跳转
rz
#解压
unzip -o gitlab-12-3-stable-zh.zip
4、复制汉化包到gitlab容器中
通过docker ps查看gitlab容器ID:
docker ps
通过以下命令,把汉化包复制到容器/opt/gitlab/embedded/service目录下
#docker cp [汉化包名称] [容器ID]:/opt/gitlab/embedded/service
docker cp gitlab-12-3-stable-zh 9e5736f1483b:/opt/gitlab/embedded/service
5、开始汉化
(1)、进入gitlab容器
docker exec -it 9e5736f1483b bash
(2)、进入opt/gitlab/embedded/service/目录
cd opt/gitlab/embedded/service/
(3)、把汉化包里面的所有文件复制到gitlab-rails文件夹里面
# cp -rf [汉化包名称]/* gitlab-rails
cp -rf gitlab-12-3-stable-zh/* gitlab-rails
(4)、重新加载gitlab配置
gitlab-ctl reconfigure
(5)、重启gitlab
gitlab-ctl restart
再次访问gitlab,汉化成功
四、参考汇总
gitlab汉化:
https://blog.csdn.net/weixin_36182972/article/details/105546033
gitlab新增用户及设置:
https://www.cnblogs.com/yinzhengjie2020/p/12439667.html