1.安装GitLab
# 下载地址https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm rpm -ivh gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm vim /etc/gitlab/gitlab.rb external_url 'http://192.168.1.134' #服务主机地址或者域名 gitlab-ctl reconfigure 其他常用命令: gitlab-ctl start gitlab-ctl stop gitlab-ctl restart
2.安装GitLabRunner
1.rpm包安装 wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-12.9.0-1.x86_64.rpm yum install git -y rpm -ivh gitlab-runner-12.9.0-1.x86_64.rpm systemctl start gitlab-runner systemctl status gitlab-runner 2.docker安装 docker run -itd --name gitlab-runner -v /data/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:v12.9.0
3.注册runner
3.1GitLab Runner类型与状态
类型
shared共享类型,运行整个平台项目的作业(gitlab)
group 项目组类型,运行特定group下的所有项目的作业(group)
specific项目类型,运行指定的项目作业( project)
状态
locked:锁定状态,无法运行项目作业(默认状态)
paused:暂停状态,暂时不会接受新的作业
3.2 注册步骤
获取runner token(每种类型获取方式不同) -->注册
3.3获取token
以shared共享类型为例,查看token相关信息
命令行执行注册操作
刷新gitlab页面(注意状态为锁定)
共享型runner默认不支持tag不匹配的任务,如果要支持需要配置,如下
也可以通非交互式完成(以下参数docker中同样适用)
gitlab-runner register --non-interactive --executor "shell" --url "http://192.168.1.134/" --registration-token "maZ23yLmAhjpRhTw5WE3" --description "devops-runner" --tag-list "build,deploy" --run-untagged="true" --locked="false" --access-level="not_protected"
4.GitLabRunner常用命令
1.启动命令 gitlab-runner --debug <command> #调试模式排查错误特别有用。 gitlab-runner <command> --help #获取帮助信息 gitlab-runner run #普通用户模式 配置文件位置 ~/.gitlab-runner/config.toml sudo gitlab-runner run # 超级用户模式 配置文件位置/etc/gitlab-runner/config.toml 2.注册命令 gitlab-runner register #默认交互模式下使用,非交互模式添加 --non-interactive gitlab-runner list #此命令列出了保存在配置文件中的所有运行程序 gitlab-runner verify #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。 --delete 删除 gitlab-runner unregister #该命令使用GitLab取消已注册的runner。 #使用令牌注销 gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n #使用名称注销(同名删除第一个) gitlab-runner unregister --name test-runner #注销所有 gitlab-runner unregister --all-runners 3.服务管理 gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner # --user指定将用于执行构建的用户 #`--working-directory 指定将使用**Shell** executor 运行构建时所有数据将存储在其中的根目录 gitlab-runner uninstall #该命令停止运行并从服务中卸载GitLab Runner。 gitlab-runner start #该命令启动GitLab Runner服务。 gitlab-runner stop #该命令停止GitLab Runner服务。 gitlab-runner restart #该命令将停止,然后启动GitLab Runner服务。 gitlab-runner status #此命令显示GitLab Runner服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零。