介绍
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
| sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
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之后,才连接成功。
换过几个版本,还是无法使用。
参考