GitlabRunner简介
GItLab Runner是一个开源项目,用于运行您的作业并将结果发送回Gitlab,它与Gitlab CI结合使用,Gitlab CI是gitlab随附的用于协调作业的开源持续集成服务。
- 特点
- 允许同时执行多个作业
- 对多个服务器(甚至每个项目)使用多个令牌
- 限制每个令牌的并行作业数
- 可本地、docker容器等执行作业
- 自动重新加载配置,无需重启
GitLabRunner安装
使用gitlab官方仓库安装
1 | # 安装最新版 |
1 | # 安装指定版本 |
GitlabRunner注册
大概过程:获取runner token -> 进行注册
GitlabRunner类型
- shared: 运行整个平台项目的作业(gitlab)
- group: 运行特定group下的所有项目的作业(group)
- specific: 运行指定的项目作业(project)
- locked: 无法运行项目作业
- paused: 不会运行作业
获取runner token
获取shared类型run
Admin Area -> Overview -> Runners
获取group类型的runner token
(先创建组)group -> Settings -> CI/CD -> Runners(点击expand) -> Group Runners
获取specific类型的runner token
进入具体的项目 -> Settings -> CI/CD -> Runners -> Specific Runners
进行注册
- docker
1 | # 方式1: 启动容器交互式注册 |
1 | # 方式2:直接注册 |
- 系统命令行注册
1 | gitlab-runner register |
- 查看注册情况
Gitlab Runner命令
GitLab Runner包含一组命令,可用于注册,管理和运行构建。
- 启动命令
1 | gitlab-runner --debug <command> #调试模式排查错误特别有用。 |
- 注册命令
1 | gitlab-runner register #默认交互模式下使用,非交互模式添加 --non-interactive |
- 服务管理
1 | gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner |
运行流水线任务
在gitlab仓库中项目根目录添加一个.gitlab-ci.yml文件,文件内容如下:
- yaml文件
此流水线共包含两个job,分别是build 和 deploy
- build job包含一个stage build。build stage配置了在具有build标签的runner(build-test)中运行,限制为master分支提交,运行构建命令。
- deploy job包含一个stage deploy。 deploy stage配置了在具有deploy标签的runner(build-test)中运行,限制为master分支提交,运行发布命令。
1 | stages: |
测试流水线
1 | touch 1.txt |