持续集成(提交代码+编译+测试+发布)
CI,continuous integration,持续集成,是软件开发过程中一个非常重要的环节,在敏捷开发过程中,持续集成通常用来进行日常编译和自动化测试,来保证及时发现提交的问题。
持续集成的工具
CI的工具很多,最常用的是Jenkins。通常包括一个master和很多个slave。master用于配制和组织节点,人物,slave则用来真正执行配置好的任务。
gitlab-ci是git官方的持续集成管理工具,。
image目前很多代码都是通过GIt进行管理的,gitlab-ci也成为了常见的CI平台,和jenkins相似。gitlab-ci的runner支持多种环境,对docker需要做专属的配置支持,和Jenkins比较起来更容易上手。
gitlab-ci runner的安装与配置(以Mac为例)
runner可以理解为一个环境,相当于jenkins的slave,机器(或者是docker),通过 runner程序与git服务器进行通信,当有新的任务发布到runner时,runner会执行.gitlab-ci.yml所定义的ci指令。
runner有三种模式, sharedRunner,specific runners和 group runners。gitlab上可以使用官方的shared runners,创建runner需要git管理员的权限。
1、安装gitlab-runner
方式一:用homebrew进行安装,在命令行中直接执行
brew install gitlab-runner
方式二(官方):Gitlab runner 10以上安装方式,若安装旧版本前往官网查看
(1)下载
sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
(2)设置权限
sudo chmod +x /usr/local/bin/gitlab-runner
2、注册runner
注册runner,你需要有一个项目,并且需要至少master权限。
打开settings->CI/CD页面,选择第二项Runners settings,左侧会显示与当前项目相关的参数。
(1)执行
gitlab-runner register
(2)指定git的URL
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
(3)指定gitlab-runner的token
Please enter the gitlab-ci token for this runner
xxx
(4)关联git和runner的tag
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag,another-tag
(5)给tag的描述
Please enter the gitlab-ci description for this runner
[hostame] my-runner
(6)选择runner的执行环境
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell (Mac可以在本机器上运行)
若选择docker,则需要下一步
(7)指定docker的image
Please enter the Docker image (eg. ruby:2.1):
alpine:latest
- url:私有git的路径
- token:项目的token,用于关联runner和项目
- name:runner的名字,用于区分runner
- tags:用于匹配任务(jobs)和执行任务的设备(runners)
- executor:执行环境
当我们完成设置后,可通过vi ~/.gitlab-runner/config.toml打开runner 的配置文件看到之前配置的内容。
3、启动
cd ~
gitlab-runner install
gitlab-runner start
当所有不是执行后,在Runners settings会显示runner的状态,显示为绿色,则runner配置成功。
参考文档
[1]https://www.jianshu.com/p/30e3f2940078
[2]gitlab-runner官方文档
网友评论