前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevOps之Gitlab-Runner

DevOps之Gitlab-Runner

作者头像
企鹅号小编
发布2018-01-26 09:39:51
1.2K0
发布2018-01-26 09:39:51
举报
文章被收录于专栏:软件软件

背景

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

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

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档