GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
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服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零。
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少