$ gitlab-runner.exe register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
填写项目url
Please enter the gitlab-ci token for this runner
填写项目token
Please enter the gitlab-ci description for this runner
填写描述
Please enter the gitlab-ci tags for this runner (comma separated):
填写runner的标签说明,以逗号分隔,可填可不填
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
这里填写shell(适用于windows本机运行)
CI是什么?
CI,全称 Continuous Integration,指的是短时间内多次集成代码到主干,它是一种软件开发实践。在每次集成中,可以部署自动化的测试、编译和发布,从而在带代码集成时就发现潜在的错误。
gitlab上如何进行CI?
gitlab 8.0+默认提供持续集成服务,要使用CI服务,需要配置两项内容:
.gitlab-ci.yml
放在项目根目录下,每次代码push时,会自动根据该配置文件生成pipeline,然后交给runner执行
runner
是一组非gitlab服务器上的进程,用来实际执行pipeline里的任务(jobs)
执行后的CI流水线如下图所示:
正确配置好上述两项内容后,就可以进行CI测试了,当然,CI时执行什么样的任务要根据具体项目和环境来定,比如说一个前端项目,就包括npm依赖安装、eslint语法检测、单元测试、e2e测试、webpack打包、测试服务器发布等任务,总之,配置很灵活,多看文档,多实践就可以
如何配置runner?
runner的类型有很多种,如
不同环境,配置也不同,可以参照官方文档来配置: gitlab runner
这里以我的windows本机为例来安装runner:
1、 在D盘下创建文件夹 D:\GitLabRunner
2、 下载gitlab runner程序到此文件夹,下载地址,注意下载版本是windows x86或amd64即可。重命名为gitlab-runner.exe
3、 以管理员身份运行cmd,运行下面的命令
4、 gitlab-runner 注册
其中url和token需要从项目网站上获取,如下图:
5、 安装并运行
6、 适当调整
D://GitlabRunner/config.toml
文件,切换为powershell来执行运行成功后,可以在任务管理器中看到gitlab-runner进程,同时在gitlab页面上能看到runner信息,这样就大功告成了,不过记得勾选下面的选项:
使得runner可以运行未设置标签(tag)的jobs,因为出于习惯,很多job都没有设置tag,runner默认只会识别和自己tag一致的job
如何配置.gitlab-ci.yml文件?
先看一个例子:
额,好吧,上面的图截下来文字太小了,贴个文字版的:
配置好的runner会根据上述文件依次执行stage,stage下的job并行执行,如果某个stage执行失败,则CI会忽略掉之后的stage,直接进入失败状态。当且仅当所有allow_failure为false的job都执行成功时,这次CI才算成功。
上面配置文件只适用于一个简单的前端项目,要在其他项目中使用,请参照 其他项目配置demo 以及 gitlab-ci.yml配置文档
生成徽章
在pipeline setting里面可以找到指定分支的徽章地址,加入到README里面即可 :)
其他有用参考