环境说明
此篇博文使用的gitlab的版本是:gitlab-ce-11.7的版本。在网上找到好多汉化的文章,发现这个版本本身自己就已经带了多国语言。不知道是从哪个版本就已经开始添加了的。怎么设置多国语言呢,见下图,在语言选择栏选择中文就OK了:
gitlab rpm安装
gitlab的安装有一种很快捷的安装方式就是rpm包安装,RPM安装包的下载地址:RPM包下载地址
rpm包安装还要依赖policycoreutils-python,安装前用yum install policycoreutils-python安装。
gitlab 最小配置
安装完成之后首先需要修改/etc/gitlab/gitlab.rb配置文件,需要修改的地方如下:
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'http://172.23.1.22'
将external_url前的#号去掉,并配置上相应的本机IP地址。 然后执行命令:gitlab-ctl reconfigure。执行完之后会重新生成配置文件:/var/opt/gitlab/nginx/conf/gitlab-http.conf。
如果有修改gitlab-http.conf文件的内容,记得备份好。每次执行gitlab-ctl reconfigure命令,这个文件都会重新生成,之前的配置会被覆盖掉。
最后执行gitlab-ctl start命令即可以启动gitlab了,登录配置的external_url地址,就可以看到登录界面,由于没有设置root的密码,所以看到的是重置密码界面。设置好root的密码之后就可以登录了。
共享Runner配置
获取url和token
GitLab-CI与GitLab-Runner的关系可以参考这边文章:GitLab-CI与GitLab-Runner。这里面还没有讲到怎么创建共享Runner。
在创建之前先按照这篇文章的安装教程将gitlab-ci-multi-runner安装上。然后登录gitlab进入如下的界面找到url和token:
注册runner
然后执行命令gitlab-ci-multi-runner register进行注册,输入url和token之后其它的保持默认,直接回车。到如下地方时,直接输入shell回车及整个注册就完成了。
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://172.23.1.22/
Please enter the gitlab-ci token for this runner:
SK6SzS9sxVsJq_AKGR7P
Please enter the gitlab-ci description for this runner:
[localhost.localdomain]:
Please enter the gitlab-ci tags for this runner (comma separated):
Whether to lock Runner to current project [true/false]:
[false]:
Registering runner... succeeded runner=SK6SzS9s
Please enter the executor: docker, shell, virtualbox, docker+machine, docker-ssh+machine, kubernetes, docker-ssh, parallels, ssh:
shell
runner注册为系统服务
注册系统服务执行如下的语句即可:
gitlab-ci-multi-runner install -n "gitlab-runner" -d /home/gitlab-runner -c /etc/gitlab-runner/config.toml -u root
其中 -n、 -d、 -c、 -u后面的参数可以根据实际情况进行修改。
注册完之后直接执行gitlab-ci-multi-runner start即可启动共享runner。
项目配置
要让提交的代码用到runner,及让runner运行起来还需在项目文件:.gitlab-ci.yml中进行相应的配置,以下是运行起来的配置信息:
stages:
- clean
- build
- package
clean_job:
stage: clean
script:
- mvn clean
build_job:
stage: build
script:
- mvn compile
package_job:
stage: package
script:
- mvn package -Dmaven.test.skip=true