DevOps之Gitlab-Runner

背景

Gitlab-Runner是一款用于执行软件集成脚本的工具,它配合Gitlab-CI使用,是Gitlab代码管理工具的一部分。当软件工程师提交代码到Gitlab仓库时,Gitlab-CI就会通知对应的Gitlab-Runner执行预先编辑好的集成脚本以完成定制化的软件持续集成。Gitlab-Runner通常单独安装或以Docker容器的形式部署,而Gitlab-CI和Gitlab集成在一起用于调用Gitlab-Runner。

安装

在此我们以Windows10下安装基于Docker的Gitlab-Runner,Ubuntu上安装方式雷同。

下载Windows 10 docker并安装

https://www.docker.com/docker-windows

由于Windows 10已经带有原装的Linux版本,所以可以直接安装Docker,对于Windows 10之前的Windows版本需要安装Docker工具包DockerToolbox。

设置Gitlab-Runner国内镜像

由于访问国外的Gitlab-Runner服务器速度较慢,可以使用过的youdao镜像

在Docker的settings页面,设置Daemon->Registery mirrors.

检查Docker安装版本

运行 docker version

拉取最新的Gitlab-Runner到Docker

docker pull gitlab/gitlab-runner:latest

拉取完后查看拉取的image信息如下

把image添加到Container

docker run -d --name gitlab-runner --restart always \

-v /srv/gitlab-runner/config:/etc/gitlab-runner \

-v /var/run/docker.sock:/var/run/docker.sock \

gitlab/gitlab-runner:latest

至此,Windows10上基于Docker的Gitlab-Runer就安装成功,并加载起来了。

使用

Gitlab-Runner配合Gitlab, Gitlab-CI使用

注册Gitlab-Runner到工程

docker exec -it gitlab-runner gitlab-ci-multi-runner register

此时你需要填写一些信息,该信息可以在你的Gitlab工程页面查看

一旦注册成功,你在该工程页面可以看到如下信息

2. 添加脚本

Gitlab-Runner配合.yml文件使用,所以你需要在你的工程根目录下增加一个文件.gitlab-ci.yml

该文件定义了你期望的持续集成的所有流程,比如:单元测试

3. 此时当提交代码时Gitlab-CI就会调用对应的Gitlab-Runner,运行的效果如图

你还可以定义定时任务和事件通知web hook等。

扩展

如果你的项目环境不是在Linux而是在Windows下,你就无法使用Docker,这时你可以使用Windows下的Gitlab-Runner执行你的脚本,

下载地址:

x86: https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-386.exe

Amd64:https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe

注册:

./gitlab-runner.exe register

安装service并运行:

gitlab-runner install

gitlab-runner start

关注非驴非码公众号了解更多信息:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171225G0ESNY00?refer=cp_1026

相关快讯

扫码关注云+社区