参考 https://docs.gitlab.com/runner/install/index.html,可以选择与gitlab相同的版本。



gitlab runner可以通过安装binary包或docker方式启动,下文以其中一种安装方式为例,系统为ubuntu.

  1. 添加gitlab 官方 repo
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
  1. 安装最新版或特定版本
sudo apt-get install gitlab-runner  #安装最新版

apt-cache madison gitlab-runner
sudo apt-get install gitlab-runner=10.0.0 #安装特定版本
  1. 启动gitlab-runner
sudo gitlab-runner run

有一些可以配置的命令行项可以设置:

USAGE:
gitlab-runner run [command options] [arguments...] OPTIONS:
-c value, --config value 配置文件路径,.toml结尾
--listen-address value 端口
-n value, --service value 服务名称,默认是gitlab-runner
-d value, --working-directory value 工作目录,也就是从gitlab clone项目的目录,默认是当前目录
-u value, --user value 执行shell脚本所用的用户
--syslog 日志

假设我们有自己的配置文件,已经专门的gitlab-runner账号,则启动指令可以改为:

sudo gitlab-runner run -c config.toml -u runner&

经过以上步骤后,我们的gitlab-runner就已经起来了,下一步就是将gitlab-runner注册到对应的项目。

4. 注册gitlab-runner

执行 sudo gitlab-runner register -c xx/config.toml

执行后会出现如下提示,要求输入gitlab的URL:

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

进入gitlab项目的Setting->CI/CID Settings界面,将Specific Runners中Set up a specific Runner manually的链接填入:



填入后进入下一步,会要求填入gitlab-ci的token,

Please enter the gitlab-ci token for this runner:

填入Set up a specific Runner manually 中第三步的token。

token填入后,填入runner的描述,其实就是个说明,这一步比较随意。

Please enter the gitlab-ci description for this runner:

下一步设置runner的tags, 所谓tag就是这个runner的标签,标记它能够做哪些任务(gitlab runner是按pipeline形式运行,通过这个标记,就可以分配对应的任务到不同的runner上), 比如build, test等等

Please enter the gitlab-ci tags for this runner (comma separated):

多个tag用逗号隔开

下一步选择执行方式

Please enter the executor: docker-ssh+machine, kubernetes, docker, docker-ssh, shell, docker+machine, custom, parallels, ssh, virtualbox:

选择shell

配置完成后,gitlab项目的Setting->CI/CID Settings界面就能看到相应的runner了,如下图:



我们还可以点击runner的编辑按钮进行一些设置:



如果runner没有锁定到一个项目,那么它就可以直接在其他项目上使用,而不需要上面的这些设置步骤:



至此,gitlab runner的安装和配置完成,下一篇将讲述如何配置进行一些CI检查。

使用gitlab runner 进行CI(二):gitlab runner的安装与配置的更多相关文章

  1. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  2. JSP学习笔记(二):Tomcat服务器的安装及配置

    一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...

  3. Keepalived详解(二):Keepalived安装与配置【转】

    一.Keepalived安装与配置: 1.Keepalived的安装过程: Keepalived的安装非常简单,本实例以源码安装讲解: Keepalived的官方网址:http://www.keepa ...

  4. Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】

    写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...

  5. JAVA WEB学习笔记(二):Tomcat服务器的安装及配置

    一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...

  6. 【JMeter4.0】二、JMeter4.0安装与配置

    二.安装配置JMeter jmeter是一个纯java工具,因此,JDK必不可少,现在最新版的jmeter是4.0,建议使用1.8及以上的JDK安装配置JDK,如没有,请见:[JMeter4.0]一. ...

  7. 【CI】系列二:Ubuntu环境虚拟机安装及配置

    好了,做好了初步计划之后,如果可行性没问题,就可以开始实践了. 准备前提:VirtualBox.ubunut镜像 如果没有,可以通过如下地址下载,安装过程此处不做描述. VirtualBox 4.3. ...

  8. windows环境下搭建Java开发环境(二):Tomcat安装和配置

    一.资源下载 官网:http://tomcat.apache.org/ 本人安装的是Tomcat8.5,安装包百度云资源:链接:https://pan.baidu.com/s/17SDFsoS0yAP ...

  9. Solr学习总结(二)Solr的安装与配置

    接着前一篇,这里总结下Solr的安装与配置 1.准备 1.安装Java8 和 Tomcat9 ,java和tomcat 的安装这里不再重复.需要注意的是这两个的版本兼容问题.貌似java8 不支持,t ...

  10. Maven学习笔记(二) :Maven的安装与配置

    在Windows上安装Maven:    1.  首先检查安装JDK 通过命令行运行命令:echo %JAVA_HOME%和 java  -version,能够查看当前java的安装文件夹及java的 ...

随机推荐

  1. 字符串拷贝函数递归与非递归的C语言实现

    初学递归的时候,觉得很抽象,不好分析,确实如此,尤其是有些时候控制语句不对,导致程序进去无限次的调用,更严重的是栈溢出.既要正确的控制结束语句,又要有正确的进入下次递归的语句,还要有些操作语句.... ...

  2. CrackMe-CFF Crackme #3

    转载自:OllyDbg入门教程 我们先来运行一下这个 crackme(用 PEiD 检测显示是 Delphi 编的),界面如图: 这个 crackme 已经把用户名和注册码都输好了,省得我们动手^_^ ...

  3. android Handler消息通信

    1 package com.example.testhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 impo ...

  4. Docker与数据:三种挂载方式

    操作系统与存储 操作系统中将存储定义为 Volume(卷) ,这是对物理存储的逻辑抽象,以达到对物理存储提供有弹性的分割方式.另外,将外部存储关联到操作系统的动作定义为 Mount(挂载). Dock ...

  5. Go依赖包管理--间接依赖

    目录 1.indirect含义 1.2 直接依赖未启用 Go module 1.2 直接依赖 go.mod 文件不完整 2.总结 1.indirect含义 在使用 Go module 过程中,随着引入 ...

  6. ES6中class的继承

    extends 子类的继承 super(); 调用父类的构造方法,只能在子类中执行 继承可以让子类获得父类的方法 属性,可以扩充 增加新的方法 属性等 父类(基类)--被继承的类 子类--继承后的类 ...

  7. TCP连接中的状态

    1. 正常状态转换 我们用图 3-13 来显示在正常的 TCP 连接的建立与终止过程中,客户与服务器所经历的不同状态.读者可以对照图 3-12 来阅读,使用图 3-12 的状态图来跟踪图 3-13 的 ...

  8. uni-app 入门小白纯徒手编写组件 hello-popup

    我的需求是:弹出框顶部有 title,底部有确认和取消按钮.这两部分固定,中间部分 content 的高度随自身内容会动态增长,但是它最大高度不能超过父节点 bg 的 80%,而父节点 bg 的高度也 ...

  9. 【良心保姆级教程】java手把手教你用swing写一个学生的增删改查模块

    很多刚入门的同学,不清楚如何用java.swing去开发出一个系统? 不清楚如何使用java代码去操作数据库进行增删改查一些列操作,不清楚java代码和数据库(mysql.sqlserver)之间怎么 ...

  10. MySQL——SQL语句入门

    1.DDL: 数据库定义语言 定义对象:库.表 何为定义: 库的定义: 创建 删除 修改---->修改本身以及库中的对象(表.视图.函数.触发器...) 表的定义: 创建---->定义表的 ...