gitlab-ci 持续集成配置(一)注册runner

gitlab-ci

本文主要介绍gitlab-ci相关的基本配置。

ci 其实就是Continuous Integration的意思,即持续集成。它可以实现,当我们每次提交代码到gitlab服务器的时候,可以触发相关联的runner,按照我们配置的yml中定义的jobs,完成例如自动构建,代码风格、内存泄露、单元测试、静态代码检查,以及打包等工作。可以更早发现bug,有效的提高开发的效率。

例如,当我开发的代码可以需要在不同平台上,例如linux-x86_64、linux-aarch64、linux-armv7、android-aarh64都编译通过的时候,由于不同平台使用编译工具链不同,支持的语言特性不完全一致,而程序员往往在修改代码之后只会在开发的服务器上编译对应平台版本,而不会全平台编译,就有可能出现在其他平台编译不通过的情况。ci就能帮助发现这些问题。
当然,它还有更多更厉害的用处。

相关概念

在配置gitlab-ci之前先说一下相关概念

pepline

即每次提交代码到gitlab服务器或者执行代码合并时触发一次pepline,会按照我们配置的.gitlab-ci.yml的内容执行相应的流程。

stage

一次pepline一般会包含多个stage,比如编译(build)、各种测试(test)以及打包发布(release_package)等。需要注意的是,stage会按照顺序运行,如果前面有一个stage执行出错失败了,那么后面的 stage 不会执行,即pipeline失败

job

job指具体的工作,例如一个具体的stage,比如build,它可以包含好几个job,比如需要在不同的平台上进行编译,如linux-x86_64,linux-aarch64或者linux-armv7,一个平台对应一个job。


安装

这个部分就不细讲了,网上搜索“gitlab-ci部署”应该可以找到很多例子,在服务器上安装好gitlab-runner之后,需要和具体的项目代码绑定,主要通过token实现。

注册

1.启动注册程序
sudo gitlab-runner register

2.输入Gitlab项目的URL:
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
在这里插入图片描述
(请看示意图)

3.获取注册Runner的 token:
Please enter the gitlab-ci token for this runner
(请看上面2中示意图)

4.描述该Runner,之后可以在Gitlab网页的setting上修改
Please enter the gitlab-ci description for this runner:

5.给Runner指派tags,之后可以在Gitlab网页的setting上修改
Please enter the gitlab-ci tags for this runner (comma separated):

6.选择 Runner 是否接收未指定 tags 的任务(默认值:false), 稍后可以在 GitLab’s UI 修改。【true】
Whether to run untagged jobs [true/false]:

7.选择是否为当前项目锁定该 Runner, 之后也可以在 GitLab’s UI 修改。设置【false】
Whether to lock Runner to current project [true/false]:

8.选择 Runner executor:,选择shell
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:

在shell界面过程如下所示:
在这里插入图片描述
中间可能没有4.5.6.7这几个步骤,这些都可以在gitlab的网页上进行重新进行设置的。
如下所示
在这里插入图片描述
特别需要注意的是红色框中两项,如果需要不打tag也可以执行ci,需要勾选第一个红色框 Run untagged jobs;如果有多个项目使用同一个runner,那么第二个红色得框不要勾选 Lock to current projects

执行完成之后,可以在gitlab网上Settings->Pipelines看到配置:
在这里插入图片描述
可以看到已经对应配置好的Runner,有对应的tag和desdescription,都是之前注册时候设置的。

如果在runner执行的时候报这样的错误:
ERROR: Preparation failed: no image specified and no default set in config
在这里插入图片描述
这里是使用了共享的runner,需要在Settings->Pipelines选择
disable shared runners
点击之后变成下面这样:
在这里插入图片描述
到这里应该是注册好了,下面将介绍如何配置。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值