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

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我的博客

Windows安装MinGW使用gcc和g++命令

MinGW 是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Wind...

79013
来自专栏ytkah

dedecms首页去掉index.html怎么设置

  很多网友用IIS服务器建站,反映说dedecms首页默认多了一个/index.html,一般是没有这个后缀的,直接就**.com,那么如何将dedecms首...

3255
来自专栏计算机视觉

linux-Anaconda+conda创建python-pytorch虚拟环境

2162
来自专栏前端小叙

查看端口被占用的情况以及如何解除端口占用

在windows安装好nginx之后,打开nginx.exe失败,我想应该是80端口被占用了,遂找到此方法。 注:以下命令需要在管理员权限下运行 以下文章主要以...

3545
来自专栏Bug生活2048

Ghost开源博客Restful API相关介绍

在使用API前,首先你需要在Ghost博客后台Labs中的Public API给勾上

3172
来自专栏个人翻译

在 Heroku 中部署 Node.js 应用

原文地址:https://dzone.com/articles/deploying-nodejs-on-heroku

26710
来自专栏我爱吃花生

腾讯云镜像仓库实验记录

首先到github个人首页,浏览器地址栏红框位置为用户名(github可以通过用户名或者邮箱方式登录)

2751
来自专栏weixuqin 的专栏

Maven配置与安装

首先在 maven 官网下载 maven 压缩包:https://maven.apache.org/download.cgi 。

1721
来自专栏腾讯云容器服务团队的专栏

使用腾讯云容器服务来构建简单web service

本文将介绍使用nginx和php来构建简单web service,核心在于如何配置nginx的upstream,使得nginx能够与后端服务通信。

1.5K10
来自专栏holer

如何从外网访问局域网Apache HTTP Server

本地安装了Apache HTTP Server,只能在局域网内访问,怎样从公网也能访问本地Apache HTTP Server?

1921

扫码关注云+社区

领取腾讯云代金券