gitlab-ci + docker环境搭建

利用gitlab-ci搭建ci环境分为两个步骤:html

①添加.gitlab-ci.yml配置文件,名称是固定的(配置文件写法参考官方文档:https://docs.gitlab.com/ee/ci/yaml/README.htmllinux

②配置一个gitlab Runnergit

当首次添加配置文件后,gitlab-ci就会开始运行,可是因为没有配置Runner,状态会显示为pedding,能够在CI/CD->Pipelines中查看到本次自动化测试的运行状态,如图:docker

首次进入应该显示为pending状态。点进去会看到提示:没有一个active Runner,因此接下来配置一个Runner。shell

gitlab-ci的Runner能够在不少环境下配置,windows、linux、虚拟机、docker、甚至集群等等。用docker的方便之处是不用安装gitlab-runner,由于docker用镜像嘛,直接启动一个容器就行了。这里先用docker进行实现。其余平台的安装方法能够参考官方教程:https://docs.gitlab.com/runner/install/,安装以后的配置参考:https://docs.gitlab.com/runner/register/windows

由于docker无需安装,可直接进行配置(配置的前提是运行Runner的服务器有权限访问gitlab服务器):ruby

①启动gitlab-runner容器:bash

docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v  path to config(/home/xxx/config):/etc/gitlab-runner \
gitlab/gitlab-runner:latest

能够经过docker ps查看是否启动成功。服务器

②注册一个Runnerssh

docker exec -it gitlab-runner gitlab-runner register

其中 -it 后面的第一个gitlab-runner是容器名,第二个gitlab-runner是镜像名,其中容器名要根据前面的设置进行修改,若是你的容器名不叫gitlab-runner。

而后会出现一些配置让你去添加:1.gitlab地址 2.token 3.Runner的描述 4.Runner的tags 5.运行的executor,即docker 6.使用的镜像,所有添加,成功后会显示:Runner registered successfully. 这样就注册成功了。

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

Please enter the gitlab-ci token for this runner:

Please enter the gitlab-ci description for this runner:

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

Registering runner... succeeded                     runner=AzzcSohr
Please enter the executor: docker, parallels, shell, ssh, virtualbox, docker-ssh, docker+ne, docker-ssh+machine, kubernetes:
docker
Please enter the default Docker image (e.g. ruby:2.1):

Runner registered successfully. Feel free to start it, but if it's running already the coshould be automatically reloaded!

  其中使用的token能够在Setting->CI/CD的Runners中看到,如图:

 

  成功以后能够去gitlab的Setting->CI/CD下查看注册的Runner,如图:

  图中这几项应该和刚才添加的保持一致(除了token)。另外会自动在前面的 path to config路径下生成一份config.toml文件(修改该文件,配置会自动生效的,若是不放心能够重启下docker)

  这样就顺利注册了一个Runner,在使用的时候必定注意,.gitlab-ci.yml文件中每一个测试都要指定一个tags,这个tags和注册Runner使用的tags要保持一致,由于gitlab-ci就是经过这个tags来决定调用哪一个runner的。另外能够反复执行:docker exec -it gitlab-runner gitlab-runner register,来注册多个Runners,就能够在.gitlab-ci.yml中经过tags选用不一样的Runner

相关文章
相关标签/搜索