搭建GitLab私服

介绍

GitLab与Github一样,是个代码托管平台。github上只能创建公有代码库,私有的就要收费,gitlab则可以创建公有的和私有的仓库。同时gitlab还是开源的。如果小团队要使用的话,相比Gtihub来说可以减少很多成本。

Gitlab主要功能:

  • 仓库管理
  • 公仓和私仓 (权限分配)
  • 工作流
  • 团队和群组管理
  • 持续集成及自动化

下面就介绍如何搭建Gitlab私服,当然都是参考官网的步骤,做一个实践。

硬件需求 指导说双核4G内存可以支持100左右的用户。建议至少4GB的可用内存来运行GitLab。

有两种安装方式,强烈建议您使用Omnibus软件包安装,因为安装速度更快,更易于升级。

以面是Omnibus的安装步骤。

安装步骤

1.安装必要的依赖

1
sudo apt-get install -y curl openssh-server ca-certificates

2.下载和安装GitLab安装包

1
2
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

如果不适合用脚本安装,可以在这里下载离线包去安装。

1
dpkg -i gitlab-ce-XXX.deb

3.配置和启动GitLab

1
sudo gitlab-ctl reconfigure

重新配置GitLab将需要几分钟的时间,因为组件已设置并启动。

4.浏览和登录

在第一次访问时,将被重定向到密码重置页面,以提供初始管理员帐户的密码。
默认帐户的用户名是root。 提供之前创建的密码并登录。登录后,可以更改用户名。

如何配置自己的域名

修改/etc/gitlab/gitlab.rb文件,把external_url参数修改成自己的域名。
再重新配置

1
sudo gitlab-ctl reconfigure

如何集成ci

在新机器上安装GitLab Runner

安装gitlab runner

1,下载下面适合系统的一个二进制包

1
2
3
4
5
6
7
8
# Linux x86-64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

# Linux x86
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386

# Linux arm
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm

可以在这里下载每一个版本

2, 给执行权限

1
sudo chmod +x /usr/local/bin/gitlab-runner

3,可选的,如果用到docker,要安装 docker

4,创建一个gitlab ci 的用户

1
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

5,安装和运行服务

1
2
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

1,
方法

1
2
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
$ sudo apt-get install gitlab-ci-multi-runner

注册 Runner

自己的 gitlab上找到ci/cd的设置页面
选Setup a specific Runner manually

在新机器上
运行 sudo gitlab-runner register
输入ci地址
输入token
输入 Runner 的名字
输入选项
输入类型 一般选shell

当注册好 Runner 之后

可以用 sudo gitlab-ci-multi-runner list 命令来查看各个 Runner 的状态

1
2
3
4
5
6
7
8
9
10
sudo gitlab-runner register \
--non-interactive \
--url "http://gitlab.com/" \
--registration-token "xxxx" \
--executor "docker" \
--docker-image node:8.11.2 \
--description "docker-runner-4" \
--tag-list "hexo" \
--run-untagged \
--locked="false" \
1
sudo gitlab-runner verify

关于版本兼容问题

目前 gitalbec是11.4版本的
可以和9.5.1的gitlab-runner正常协作。

可能是配置问题
验证11.4的gitalb-runner及高版本在docekr都无法正常运行。
表现为,流程线挂起,无法匹配对应的runner
初次建立runner,可以显示出来,但显示未连接。
只有verify之后,才连接成功。
换过几个版本,还是无法使用。

参考