gitlab ci 配置

什么是gitlab ci

gitlab ci是一个用来完成项目持续集成的工具,其工作流程如下

gitlab ci 配置_第1张图片

这样做的好处不言而喻,在复杂的项目迭代中可以快速发现项目中的问题,因为每次commit代码都会编译以此来保证dev分支和主分支的代码正确。另外,前端可以独立发布,不用每次版本发布都叫后端啦,实现前后端深度剥离。

gitlab ci结构

项目的根目录需要一个.gitlab-ci.yml 文件,这个文件描述了这次集成需要做哪些工作。这个文件通过runner来解析,所以问题就在于这个runner怎么配置,下面来一步一步玩

runner配置

官方给的说法是"It can run on any platform for which you can build Go binaries, including Linux, OSX, Windows, FreeBSD and Docker".也就是说runner可以在多平台上配置,我这里选择了docker。

  1. 准备
    gitlab注册,然后新建一个项目;
    安装docker
  2. 安装镜像

docker pull gitlab/gitlab-runner获取gitlab——runner镜像

gitlab ci 配置_第2张图片
可以执行docker images查看装好的镜像

gitlab ci 配置_第3张图片

镜像安装好了,执行
docker run -it -d --name runner-demo gitlab/gitlab-runner
基于这个镜像起一个名为runner-demo的container

clipboard.png

可以看下在跑的container,执行docker ps

clipboard.png

然后执行
docker exec -it runner-demo bash
进入这个容器。
一般进入Linux第一件事就是ls看下文件目录

clipboard.png

3.注册runner
执行gitlab-runner register来发起注册

gitlab ci 配置_第4张图片
第一个红框是gitlab的token,在setting->CI/CD里面可以找到
第二个红框是tags,important!!!这个是用来配置.gitlab-ci.yml文件用的。
好了,还差一个参数,就是最后的image。

说下我走的弯路,我开始认为这个镜像是自己制作的,所以自己用Ubuntu做了一个带node和npm的镜像,后面发现根本用不了。ci在执行时回去docker hub的仓库里去找,所以自己做的镜像是找不到的。

看下node的镜像,执行docker search node

gitlab ci 配置_第5张图片

选一个输入上面最后一个输入框

clipboard.png

最后别忘了gitlab-runner restart,这样runner就配好了

gitlab ci 配置_第6张图片

下面配下根目录那个文件

配置.gitlab-ci.yml 文件

gitlab ci 配置_第7张图片

注意:上面的tags要和runner的tags相同

提交点代码,发布成功,下班。。

clipboard.png

你可能感兴趣的:(ci)