- 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 环境安装。
(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
一个 GitLab Runner 可以注册多个 Runner,每个 Runner 只能服务于一个 GitLab 环境,但可以服务于同一个 GitLab 的多个项目。
注册一个Runner,需要GitLab地址和注册Runner的token,两者缺一不可:
接下来的一系列配置,使得GitLab Runner和GitLab产生联系:
执行命令:
docker run --rm -v /usr/local/var/docker/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register --non-interactive --executor "docker" --docker-image alpine:latest --url "http://localhost" --registration-token "MMbU6PXGFPsntiBMXyyy" --description "docker-runner" --tag-list "tag1,tag2" --run-untagged="true" --locked="false" --access-level="not_protected"
运行该命令报错:
ERROR: Registering runner… failed runner=sxWzyrsZ status=couldn’t execute POST against http://127.0.0.1:80/api/v4/runners: Post http://127.0.0.1:80/api/v4/runners: dial tcp 192.168.29.128:80: connect: no route to host
PANIC: Failed to register this runner. Perhaps you are having network problems
查阅资料:
(1)检查防火墙是否关闭
(2)检查gitlab和gitlab runner是否兼容



