当前位置: 代码迷 >> 综合 >> 2.docker安装GitLab Runner、遇到问题全记录
  详细解决方案

2.docker安装GitLab Runner、遇到问题全记录

热度:76   发布时间:2023-12-02 23:32:06.0

1.基础概念

  • DevOps
    Development 和 Operations 的组合,传统的软件组织讲开发和 IT 运营以及质量保障设为分离的部门,Devops 是在敏捷开发模型上进一步发展而来的。满足了产品研发所要求的持续开发、持续测试、持续集成、持续部署
  • CI/CD
    Continuous Integration(持续集成)和 Continuous Delivery(持续交付)Continuous Deployment(持续部署)
    -pipeline
    配置好的 CI/CD 的流程,比如安装依赖包,进行代码 review、构建、编译、发布等一整套的流程
  • GitLab Runner
    执行流水线的环境,所有 CI/CD 的任务都是在GitLab Runner内部执行的,GitLab Runner和 GitLab 是两个功能不同的软件,GitLab进行代码管理,GitLab Runner是流水线。在CI/CD 的执行环境中,二者搭配工作。
    GitLab Runner 可以安装在很多平台上,也可以使用很多工具安装,可以在 GNU/Linux、macOS 和 Windows 上工作。可以在 K8s 环境安装,也可以在 Docker 环境安装。

2.安装gitLab Runner

(1)拉取镜像:如果没有指定版本,则默认pull最新latest版本。
docker pull gitlab/gitlab-runner
(2)启动镜像:542为镜像id
docker run --name gitlab-runner --restart always -v /usr/local/var/docker/gitlab-runner/config:/etc/gitlab-runner -v /usr/local/var/docker/gitlab-runner/docker.sock:/var/run/docker.sock -d 542

注意:mac系统下应该将挂载目录/usr/local/var改为 /Users/Shared/docker

3.注册GitLab Runner

一个 GitLab Runner 可以注册多个 Runner,每个 Runner 只能服务于一个 GitLab 环境,但可以服务于同一个 GitLab 的多个项目。
注册一个Runner,需要GitLab地址和注册Runner的token,两者缺一不可:

步骤一:查看token、ipAddress

登陆gitlab查看token: 我的gitlab地址为localhost:9999
在这里插入图片描述

步骤二:注册

接下来的一系列配置命令,使得GitLab Runner和GitLab产生联系:

docker exec -it d25 /bin/bash #进入容器内部,d25位gitlabrunner的容器id
gitlab-runner register #注册runner

后面根据提示输入url、token、描述、标签、shell执行命令。(标签要和gitlab-ci.yml中自定义的标签一致)
在这里插入图片描述

步骤三:重启镜像

docker restart d25

4.遇到问题:

在前几次注册runner时总是报错如下:

ERROR: Registering runner… failed runner=eFn3g8w9 status=couldn’t execute POST against http://localhost:9999/api/v4/runners: Post http://localhost:9999/api/v4/runners: dial tcp 127.0.0.1:9999: connect: connection refused
PANIC: Failed to register the runner. You may be having network problems.

查阅资料说可能是防火墙没关,或者gitlab和gitlab-runner的版本不兼容导致的。但我这里不是这两个问题导致的。
经过几次尝试,我总结经验一个是url不能写localhost,而是用具体的ip。另一个原因是url前的http不能忽略,完整的URL应该是“http://192.168.100.55:9999"。

5.查看注册信息命令:

docker exec gitlab-runner  cat /etc/gitlab-runner/config.toml

或在宿主机/Users/Shared/docker/gitlab-runner/config目录下直接打开config.toml查看

4.注册成功

在这里插入图片描述

5.实际应用

在开发工程中,使用gitlabrunner进行cicd时发现在build镜像时需要java、maven等环境,导致构建失败。原因是用docker安装的gitlabrunner容器内还需要再安装Java等环境,比较繁琐。所以在实际开发中,最简便的方法是本地安装包安装,而不是使用docker。

  相关解决方案