设为首页 收藏本站
查看: 906|回复: 0

[经验分享] CentOS 7 下 Gitlab 汉化安装部署

[复制链接]

尚未签到

发表于 2019-2-15 11:58:06 | 显示全部楼层 |阅读模式
        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将在重新配置运行期间给出奇怪的错误。
一、环境准备
  操作系统:CentOS 7
CPU:2核
内存:4G
   说明:硬件根据我查到的资料( https://docs.gitlab.com/ce/install/requirements.html ),结合使用人数的考虑,故选择了2核4G的配置,实际配置时需要根据gitlab使用人数的负载来决定硬件配置
1.1更新yum源

yum install wget                                #下载wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak     #备份yum源
wget -O /etc/yum.repo.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo    #下载yum源
yum clean all &&  yum makecache                #更新yum源

二、获取gitlab汉化包
说明:gitlab中文社区版的项目,v7-v8.8是由Larry Li发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9 之后,@xhang 开始继续该汉化项目(https://gitlab.com/xhang/gitlab)。
yum install -y git2.1 克隆获取汉化版本库
下载最新的汉化包(汉化包需与安装的Gitlab版本一致)
git clone https://gitlab.com/xhang/gitlab.git

如果是要下载指定版本的汉化包,需要加上指定版本的分支,比如我想下载11.5.6,可以运行下面的语句
git clone https://gitlab.com/xhang/gitlab.git -b v11.5.3版本的-zh本次下载使用的是11.5.3



2.2 查看该汉化补丁的版本
cat gitlab/VERSION
可以看到现在的版本是11.5.3


三、部署社区版Gitlab
3.1安装前准备选项
   安装gitlab的依赖项

yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python   #10.x以后开始依赖policycoreutils-python,我之前在使用9.x时还没有依赖该项。

  启动postfix,并设置为开机启动

systemctl start postfix
systemctl enable postfix

设置防火墙   ,也可以直接关闭
firewall-cmd --add-service=http --permanent firewall-cmd --reload

3.2获取Gitlab的rpm包


查看清华开源镜像站,查找11.5.3的rpm包。
https://mirrors .tuna.tsinghua.edu.cn /gitlab-ce/yum/el7/

获取rpm包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.5.3-ce.0.el7.x86_64.rpm

当然也可以使用官方的网址进行下载,速度可能会很慢
官方下载:https://packages.gitlab.com/gitlab/gitlab-ce/
  3.3安装RPM包

rpm -ivh gitlab-ce-11.5.3-ce.0.el7.x86_64.rpm

根据提示,继续执行指令配置gitlab。
gitlab-ctl reconfigure
3.5修改配置文件gitlab.rb
vim /etc/gitlab/gitlab.rb
将external_url变量的地址修改为gitlab所在CentOS的ip地址。(有域名的话可以配成域名)。




3.6 配置邮箱

vim /etc/gitlab/gitlab.rb
邮箱配置:
gitlab_rails[ 'smtp_enable' ] =   true
gitlab_rails[' smtp_address '] =   " smtp.mxhichina.com "
gitlab_rails[' smtp_port '] = 465
gitlab_rails[' smtp_user_name '] =   " xxxxxxxxx"
gitlab_rails[' smtp_password '] =   " xxxxxxxx "
gitlab_rails[' smtp_authentication '] =   " login "
gitlab_rails[' smtp_enable_starttls_auto '] =   true
gitlab_rails[' smtp_tls '] =   true
gitlab_rails[' gitlab_email_from '] =   ' xxxxxxxxx '
因为修改了配置文件,故需要重新加载配置内容。

gitlab-ctl reconfigure
gitlab-ctl restart
3.7 查看Gitlab版本
head -1 /opt/gitlab/version-manifest.txt


四、覆盖汉化包
注:汉化后使用root用户登录可能会出现汉化不完全现象,创建其他用户后使用非root用户登录即可正常显示
停止Gitlab服务
gitlab-ctl stop

切换到Gitlab汉化包所在的目录(即步骤二获取的汉化版Gitlab)
cd /root/gitlab

  比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
git diff v11.5.3 v11.5.3-zh > ../11.5.3-zh.diff
  回到/root目录
cd  将11.5.3-zh.diff作为补丁更新到Gitlab中

yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.5.3-zh.diff  启动Gitlab

gitlab-ctl start 重新配置并重启Gitlab

gitlab-ctl reconfigure
gitlab-ctl restart  还有一种简单的运用中文补丁的方式,首先关闭服务

gitlab-ctl stop  复制汉化包内容至Gitlab目录内覆盖
cp -rf gitlab /*  /opt/gitlab/embedded/service/gitlab-rails/复制可能出现如下提示,可以不用理会。

   重新配置并重启Gitlab

gitlab-ctl reconfigure
gitlab-ctl restart
五、设置管理员密码
  管理员账号登录的用户名:root
  (虽然登录后管理员的用户名为Administrator,但是实际登录的用户名是root)
浏览器访问gitlab所在的ip,输入密码后点击 “Change your password”(如果进行汉化,点击“修改密码”)。






六、修改默认端口
  有时,需要修改默认端口,保证不与服务器其他端口相冲突
6.1 修改 nginx 端口 (默认80,与其他端口冲突时修改)
vim /etc/gitlab/gitlab.rb

按照如下修改

nginx['listen_port'] = 8081
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
server {
  listen *:8081;
.
.
.
  if ($http_host = &quot;&quot;) {
    set $http_host_with_default &quot;192.168.99.65:8081&quot;;
  }



6.2 修改 unicorn 端口 (默认8080,可能会与Tomcat端口冲突,冲突时修改)
  注:访问出现 502 错误时大多数原因是该端口未被监听导致

vim /etc/gitlab/gitlab.rb
unicorn['port'] = 8089
vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen &quot;127.0.0.1:8089&quot;, :tcp_nopush => true

6.3 重新配置并重启Gitlab

gitlab-ctl reconfigure
gitlab-ctl restart
  注:重启服务有延时,unicorn 端口需要耐心等待一会才能被监听
netstat -tunlp








七、GitLab的命令
语法:
gitlab-ctl command (subcommand)
Service Management Commands

start

启动所有服务

stop

关闭所有服务

restart

重启所有服务

status

查看所有服务状态

tail

查看日志信息

service-list

列举所有启动服务

graceful-kill

平稳停止一个服务

例子:

1
2
3
4
5
6
7
8
9
10
11
#启动所有服务
[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数据,重新白手起家




例子:

gitlab-ctl show-config     #显示所有服务配置文件
gitlab-ctl uninstall    #卸载gitlab













运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672391-1-1.html 上篇帖子: CentOS(6、7) 修改主机名(hostname) 下篇帖子: CentOS 7迷你版安装步骤
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表