Centos7 安装gitlab

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

  • 社区版基于MIT license开源完全免费
  • 无用户,协作和仓库限制
  • 保护你的源码安全
  • 管理仓库,用户与访问权限

    环境准备

gitlab接触了一段时间,觉得是一个很不错的开源产品(gitlab的社区版),值得我整理一篇部署教程作为记录。

安装全程选择的用户为root。

操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1708.iso)

更换阿里yum

1)下载wget

yum install -y wget

2)备份默认的yum

mv /etc/yum.repos.d /etc/yum.repos.d.backup

3)设置新的yum目录

mkdir /etc/yum.repos.d

4)下载阿里yum配置到该目录中

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5)重建缓存

yum clean all
yum makecache

6)升级所有包(改变软件设置和系统设置,系统版本内核都升级,故需要几分钟耐心等待)

yum update -y

安装vim

yum install -y vim

配置yum源

vim /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

然后

sudo yum makecache

安装GitLab社区版

yum install gitlab-ce        #自动安装最新版
yum install gitlab-ce-x.x.x #安装指定版本

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;
gitlab-ctl tail # 查看日志;

修改配置文件gitlab.rb

vim /etc/gitlab/gitlab.rb

将external_url变量的地址修改为gitlab所在centos的ip地址。

external_url 'http://192.168.9.100'

因为修改了配置文件,故需要重新加载配置内容。

gitlab-ctl reconfigure
gitlab-ctl start

查看gitlab版本

head -1 /opt/gitlab/version-manifest.txt

设置管理员密码

管理员账号登录的用户名:root

(虽然登录后管理员的用户名为Administrator,但是实际登录的用户名是root)

方法一:网页方式

浏览器访问gitlab所在的ip,输入密码后点击 “Change your password”(如果进行汉化,点击“修改密码”)。

方法二:指令方式

gitlab-rails console production

稍等一会后会出现

irb(main):001:0> user = User.where(id: 1).first     // id为1的是超级管理员
irb(main):002:0>user.password = 'yourpassword' // 密码必须至少8个字符
irb(main):003:0>user.save! // 如没有问题 返回true
exit // 退出

说明

为啥不说怎么装啥啥啥中文包呢? 因为最新版本的gitlab已经支持国际化语言啦啦啦