查看内存配置

 我们先不急着来安装gitlab,先来看一下自己电脑的内存情况,我把这一步提到最前面,是因为这是我安装过程中遇到的最大的坑。

 下面是gitlab的cpu和内存需求(https://docs.gitlab.com.cn/ce/install/requirements.html)

 这里主要关注swap交换分区,由于我在装gitlab之前机器中已经运行了lnmp相关服务,所以在安装过程中swap出现被占满的情况,导致启动gitlab的时候卡顿奔溃,就算关闭之前的php以及nginx服务,1G的swap也是十分不足,所以最好的办法是在安装gitlab之前就对swap进行扩展。

扩展swap(虚拟内存)

 查看本机的内存,当然这是我扩展之后的,不然你将看到used跟total几乎一样

 

 增加分区大小,使用如下指令,大小为2G:
# dd if=/dev/zero of=/data/swap bs=1024 count=2048000

 设置交换文件:
# mkswap /data/swap

然后我们就可以启用这个交换文件来为分区增加容量了:
# swapon /data/swap
 相对应的关闭命令为:
# swapoff /data/swapp

 开机引导时自动启用,则需要编辑 # vim /etc/fstab ,添加如下代码,保存并退出:
 /data/swap swap swap defaults 0 0

安装gitlab

 终于到了激动人心的时刻了,正式开始gitlab的安装,按照顶上的教程,首先配置gitlab的yum安装源:
# vim /etc/yum.repos.d/gitlab-ce.repo
 在repo文件中添加以下内容,保存并退出:

   [gitlab-ce]
   name=Gitlab CE Repository
   gpgcheck=0
   enabled=1

 然后更新本地yum缓存,提高搜索安装软件的速度(这些操作记得都在sudo下进行):
# yum makecache

 准备就绪,开始安装gitlab最新版,这个安装将会安装gitlab所需的所有环境,一步到位,装好即用:
# yum install gitlab-ce

 安装完之后需要使服务生效,我的内存瓶颈就是卡在这步上,重启了服务器,再增加分区才解决了:
# gitlab-ctl reconfigure
 然后启用gitlab组件就能运行了,这里需要说明,如果之前配置了php运行环境的话,可能会跟gitlab冲突,可以选择关闭其中一个来切换使用:
# gitlab-ctl start

GitLab常用命令列表

  • gitlab-ctl start # 启动所有 gitlab 组件;
  • gitlab-ctl stop # 停止所有 gitlab 组件;
  • gitlab-ctl restart # 重启所有 gitlab 组件;
  • gitlab-ctl status # 查看服务状态;
  • gitlab-ctl reconfigure # 启动服务;
  • vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
  • gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
  • sudo gitlab-ctl tail # 查看日志;

     注意事项以及异常故障排查:
    1,按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化(汉化请参考后边的教程)。
    2,默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。
    3,gitlab本身采用gitlab.example.com:80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。
    修改vim /etc/gitlab/gitlab.rb:external_url 'http://localhost:90

    如果就想用80端口,那没问题。如果更改了端口,后边可以自行调整nginx配置文件进行nginx反向代理设置。
    4,这里可以绑定自己的gitlab的域名或者公网、内网IP替换localhost进行公网访问,具体根据自己的实际情况。安全起见,一般会将gitlab部署于内网。具体部署到哪里,请根据自己的实际情况来定。(基于安全原因,这里不建议设置公网IP进行暴露,可以通过nginx设置IP绑定进行return或者其他规则进行IP回避访问。)
    本站测试gitlab地址域名为:gitlab.21yunwei.com

    5,unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:
    修改 /etc/gitlab/gitlab.rb:

    1. unicorn['listen'] = '127.0.0.1'
    2. unicorn['port'] = 3000

    每次重新配置,都需要执行sudo gitlab-ctl reconfigure  使之生效。
    6,日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。
    gitlab-ctl tail #查看所有日志
    gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

  • 创建Project
    1、安装Git工具linux:安装Git,使用自带的源安装。
    yum install git
    2、生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub。
    3.在GitLab的主页中新建一个Project
    4.添加ssh key导入步骤2中生成的密钥文件内容:
    ssh key添加完成:
    项目地址,该地址在进行clone操作时需要用到:
    简单配置
    1、配置使用Git仓库的人员姓名(以上海驻云为例)
    git config --global user.name "上海驻云" 

    2、配置使用Git仓库的人员email,填写自己的公司邮箱

    git config --global user.email "support@jiagouyun.com"

    3、克隆项目,在本地生成同名目录,并且目录中会有所有的项目文件

    git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git
    上传文件
    1、进入到项目目录
    cd test/ 

    2、创建需要上传到GitLab中的目标文件

    echo “test” >  /root/test.sh

    3、将目标文件或者目录拷贝到项目目录下

    cp /root/test.sh ./  
    4、将test.sh文件加入到索引中
    git add test.sh 

    5、将test.sh提交到本地仓库

    git commit -m “test.sh”

    6、将文件同步到GitLab服务器上

    git push -u origin master
    7、在网页中查看上传的test.sh文件已经同步到GitLab中

    六 gitlab中文汉化【如不清楚gitlab版本以及git,请不要操作,否则gitlab瘫痪!建议运维人员或者对gitlab比较熟悉的人操作】
    (1)centos 6.x汉化步骤。【centos 7.x请查看(2)步骤)】

    1,克隆gitLab汉化仓库
    首先我们要确认下当前我们gitlab的版本,查看版本命令如下:

    1. [root@21yunwei src]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    2. 8.8.5

    比如我安装的gitlab版本是8.8.5,那么我就需要下载这个版本的补丁。
    克隆汉化仓库地址(这个比较全,可以自己切换对应分支):

    1. git clone https://gitlab.com/larryli/gitlab.git

    下载完以后进入gitlab查看补丁版本:

    1. [root@21yunwei src]# cat gitlab/VERSION
    2. 8.8.5

    版本正确,后边可以正式操作了。
    PS:有很多朋友安装了或旧或老版本,不同版本的地址可以到https://gitlab.com/larryli/gitlab/tags 进行下载,这里的版本很全,基本可以满足下载使用,仅仅版本不一样而已,其他后续操作都是一样的。

    2,汉化操作
    停止当前gitlab运行。

    1. gitlab-ctl stop

    执行如下操作:

    1. cd /usr/local/src/gitlab #说明:这个就是刚才我们git clone以后的目录,需要进入到这个仓库进行操作。
    2. git diff origin/8-8-stable origin/8-8-zh > /tmp/8.8.diff

    说明:8-8-stable是英文稳定版,8-8-zh是中文版,两个仓库git diff结果便是汉化补丁了。

    3,应用汉化。

    1. cd /opt/gitlab/embedded/service/gitlab-rails
    2. git apply /tmp/8.8.diff

    启动gitlab:

    1. gitlab-ctl start

    汉化效果(演示地址gitlab.21yunwei.com):

    (2)centos 7.x汉化步骤。
    1,下载补丁。这个没有采用larryli的,而是另外一个安装包。larrili测试在centos7有报错。

    1. git clone https://git.oschina.net/qiai365/gitlab-L-zh.git

    2,切换分支。这里centos7测试的是8.5.4低版本,需要进行切换。

    1. cd gitlab-L-zh
    2. git checkout -b 8-5-zh origin/8-5-zh
    3. cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}

    3,汉化操作
    首先停止gitlab:

    1. gitlab-ctl stop

    汉化操作:

    1. yes|cp -rf ../gitlab-L-zh/* /opt/gitlab/embedded/service/gitlab-rails/

    4,启动,查看效果

    1. gitlab-ctl start

    低版本gitlab默认用户名和密码:root/5iveL!fe

gitlab安装教程 正在修炼的西瓜君的更多相关文章

  1. gitlab安装教程

    gitlab安装教程     安装教程 官网安装方法 https://about.gitlab.com/downloads/#centos7 1.准备 sudo yum install curl po ...

  2. git\CentOS6.5中gitlab安装教程

    一.Git 起源: Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本 ...

  3. gitlab安装教程、gitlab官网、英文文档

    gitlab官网 https://about.gitlab.com/ gitlab安装和官网英文文档 https://about.gitlab.com/downloads/ 清华大学tuna镜像源 G ...

  4. centos7安装配置gitlab详细教程

    一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装ss ...

  5. gitlab之一: gitlab安装配置使用

    参考: gitlab 安装和配置 gitlab下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ 官方教程: https://about.gitl ...

  6. Janus安装教程,ubuntu18.04系统

    Janus安装教程,ubuntu18.04系统     本文介绍Jansu如何安装,操作系统为Ubuntu 18.04.    (1)安装git 执行命令:“sudo apt-get install ...

  7. GitLab - 安装并启动GitLab

    1 - GitLab安装 1.1 信息确认 [Anliven@node102 ~]$ uname -a Linux node102 3.10.0-957.el7.x86_64 #1 SMP Thu N ...

  8. gitlab 安装、备份与还原及常见设置

    gitlab 安装.备份与还原及常见设置 安装 安装过程比较简单,跑在 docker 上,执行命令即可 -v参数后面的值为卷的名称,自动创建数据卷(如果数据卷不存在) https://docs.git ...

  9. gitlab 安装、配置

    gitlab 安装.配置 对于企业级的私有 git 仓库,gitlab 是个不错的选择. 今天就来说说 gitlab 的安装.配置. 系统配置建议:最低双核 4G 内存. 当前针对 gitlab 版本 ...

随机推荐

  1. (十二)class文件结构:魔数和版本

    一.java体系结构 二.class格式文件概述 class文件是一种8位字节的二进制流文件, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑, 体积 ...

  2. (三)表单与servlet的初步结合

    一.form表单基本使用 <form>标签可创建一个表单,属性如下: <form>标签子标签可以有如下: <input> : 用于搜集用户信息. <input ...

  3. Java解压tar.Z文件(使用Apache Commons-compress)

    这里使用apache commons compress对.tar.Z格式文件进行解压. 对于一个文件test.tar.Z,我们可以将解压过程理解为: 将test.tar.Z解压为test.tar: 将 ...

  4. react 生命周期函数的一些心得体会

    一.理论 组件本质上是状态机,输入确定,输出一定确定 生命周期的三个阶段,三者时间是不固定的,只是在逻辑上的分类: 二.初始化阶段: getDefaultProps:获取实例的默认属性(即使没有生成实 ...

  5. ELK之elasticsearch插件导致filebeat没有上传日志至elasticsearch解决办法

    使用filebeat收集nginx发现日志为上传,elasticsearch没有日志,kibana没有展示 查看filebeat日志 日志目录为/var/log/filebeat  下面有多个日志文件 ...

  6. netstat -anp/ss -t里的Send-Q和Recv-Q含义

    Send-Q 对方没有收到的数据或者说没有Ack的,还在本地缓冲区 Recv-Q 数据已经在本地接收缓冲区,但是还没有recv() The count of bytes not copied by t ...

  7. 同时支持Android 和 ios 投屏到电脑的软件,Support Android and ios screen shrare to PC - 希沃授课助手

    最近学校由粉笔黑板更换了智慧电子黑板,然后发现了一个好玩的软件. 感谢希沃公司的开发: 希沃授课助手,这是一款同时支持Android 和 ios 投屏和远程控制的. 效果很流畅,非常赞

  8. Andrew Ng机器学习课程11之贝叶斯统计和正则化

    Andrew Ng机器学习课程11之贝叶斯统计和正则化 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 在统计学中有两个学派,一个是频率学派,另一个是贝叶斯学 ...

  9. Acquire and Release Fences

    转载自:   http://preshing.com/20130922/acquire-and-release-fences/ Acquire and release fences, in my op ...

  10. StarUML3.1.0版(2019.3.6)生成Java代码

    下载官网 StarUML3.1.0(2019.3.6) 步骤 打开StarUML: 点击菜单栏的Tools: 列表中如果有Java,说明已经有这个生成Java代码的扩展了: 列表里如果没有Java: ...