CentOs下搭建GitLab



gitlab提供ce 和 ee两个版本,从官网的解释来看,如果想体验完整的功能则安装ee版并付费,不然体验时间过后ee版将自动降级为ce版,所以看个人需求安装。二者的区别:https://about.gitlab.com/installation/ce-or-ee/

1、安装并配置必要的依赖项



yum install -y curl policycoreutils-python openssh-server   #安装py,ssh依赖项



systemctl enable sshd                        #设置sshd开机启动

systemctl start sshd                         #启动sshd服务
firewall-cmd --permanent --add-service=http           #对外暴露http服务
#(如果提示firewallD is not running,则通过命令查看防火墙是否已经关闭:systemctl status firewalld)
#(如果状态是dead,则重启防火墙:systemctl start firewalld)



systemctl reload firewalld                     #重新载入firewalld



2、添加GitLab软件包并安装软件包



curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash   #下载软件包,如果安装ce版,只需将ee改成ce



sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee  #安装软件包,将http://gitlab.example.com改成你的访问地址,如果安装ce版,只需将ee改成ce




汉化步骤:

  • 查看gitlab版本(如果安装ce版,只需将ee改成ce):rpm -q gitlab-ee
  • 下载gitlab汉化包(根据上面查出的版本下载):wget https://gitlab.com/xhang/gitlab/repository/11-3-stable-zh/archive.tar.bz2
  • 解压汉化包(解压报错“tar (child): lbzip2: Cannot exec”的话,则先安装bz2:yum -y install bzip2):tar -xjvf archive.tar.bz2
  • 将解压出的文件copy到gitlab下的gitlab-rails文件替换掉原来的内容:cp -rf gitlab-11-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
  • 汉化完成,忽略log、temp覆盖报错问题。

3、访问

  首次访问时,将被重定向到密码重置界面。默认帐户的用户名root,访问地址就是第二步填写的地址。

4、gitlab常用命令:



sudo gitlab-ctl stop        # 停止所有 gitlab 组件;


sudo gitlab-ctl restart        # 重启所有 gitlab 组件;


sudo gitlab-ctl status        # 查看服务状态;


sudo gitlab-ctl reconfigure        # 启动服务;


sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;


sudo gitlab-ctl tail        # 查看日志;



备注:

  • 系统内存如果太小,访问gitlab会502,所以要么升级系统硬件,要么修改一下./etc/gitlab/gitlab.rb中的配置,要么添加swap分区解决内存问题。
  • postfix邮箱系统看个人需求安装。
  • 官方文档:https://about.gitlab.com/installation/

创建swap分区方法如下:



free -h  #先看看是否已经创建

#没有创建的话,继续一下步骤
dd if=/dev/zero  of=/var/swapfile  bs=1024  count=4096k  #添加swap分区

mkswap /var/swapfile  #交换文件格式化并转换为swap分区

swapon /var/swapfile   #挂载并激活分区

free -h    #查看分区



**********************************************************************************************分割线**********************************************************************************************

以下来记录如何彻底删除gitlab:

1、停止gitlab



gitlab-ctl stop



2、rpm包管理删除,rpm命令-e是删除指定套件



rpm -e gitlab-ee    #免费版是ce



3、查看gitlab进程



ps aux | grep gitlab



4、kill掉查询出来的进程



SIGKILL



5、删除包含gitlab的文件



find / -name gitlab | xargs rm -rf    #-rf能强删掉所以文件和其子文件