本地gitlab-runner的创建与注册

12 篇文章 1 订阅
4 篇文章 0 订阅
本文详细介绍了如何在本地无故障地安装和配置GitLabRunner,包括查看服务状态、停止/启动服务,以及确保通过`gitlab-runnerrun`命令正确注册Runner以进行构建流程。
摘要由CSDN通过智能技术生成

引言

之前通过一些方式在本地创建runner,时而会出现一些未知的坑,所以写下本文记录runner可以无坑创建的方式。

以下注册runner到相应仓库的前提是已经在本地安装了gitlab-runner 具体安装方式见官网
在这里插入图片描述

本地gitlab-runner安装常用的指令

  1. 查看gitlab runner服务状态

sudo gitlab-runner status

  1. 停止已运行的 GitLab Runner 服务

sudo gitlab-runner stop

  1. 启动 GitLab Runner 服务

sudo gitlab-runner start

  1. 页面添加好runner后未上线的话出现三角形灰色感叹号则运行下面指令检测新注册的runner通讯情况

gitlab-runner run

第一种注册方式

在这里插入图片描述

第二种注册方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

必须运行 gitlab-runner run 才可以注册成功并用于构建

### 配置 GitLab Runner 使用 Docker 执行器 #### 修改Runner详细配置 为了使 GitLab Runner 能够使用 Docker 执行器,在 `/etc/gitlab-runner/config.toml` 文件中,需针对 `[runners.docker]` 进行设置。此部分允许指定用于构建作业的 Docker 映像以及其它参数,例如 `sysctls` 的调整[^1]。 ```toml [[runners]] name = "docker-runner" url = "https://gitlab.example.com/" token = "your_runner_token_here" executor = "docker" [runners.docker] tls_verify = false image = "alpine:latest" privileged = false disable_cache = false volumes = ["/cache"] shm_size = 0 sysctls = ["net.core.somaxconn=1024", "vm.max_map_count=262144"] # 设置内核参数 ``` 上述配置文件中的 `image` 字段定义了默认使用的 Docker 基础镜像;而 `volumes` 则指定了挂载到容器内的卷路径。对于某些特定需求的应用程序来说,可能还需要额外设定诸如内存共享区大小 (`shm_size`) 或者特权模式 (`privileged`) 等选项来满足其运行条件。 #### 注册Runner并进入容器创建Runner 当首次注册一个新的 runner 并打算采用 docker 作为执行器时,可以通过命令行工具完成这一过程: ```bash sudo gitlab-runner register \ --non-interactive \ --url https://gitlab.example.com/ \ --registration-token your_registration_token_here \ --executor docker \ --description "My Docker Runner" \ --docker-image alpine:latest ``` 这条指令会引导系统自动向 GitLab 实例报告新加入的 runner,并将其绑定至指定 URL 和令牌下工作。同时通过传递给 `--executor` 参数值为 `docker` 来表明希望该 runner 可以利用本地已有的 Docker 环境来进行 CI 流水线任务处理[^4]。 #### 创建Jenkinsfile简单示例 虽然提到的是 Jenkinsfile ,但在 GitLab 中同样适用类似的 `.gitlab-ci.yml` 文件来描述持续集成流程。下面是一个简单的 Spring Boot 应用程序对应的 CI 配置例子: ```yaml stages: - build - test - deploy variables: DOCKER_DRIVER: overlay2 build_app: stage: build script: - echo Building the application... - mvn clean package -DskipTests=true artifacts: paths: - target/*.jar test_app: stage: test script: - echo Running tests... - mvn test deploy_app: stage: deploy script: - echo Deploying to production environment... ``` 这段 YAML 格式的文档定义了一个三阶段的工作流——编译、测试和部署。它假设项目根目录存在 Maven 构建脚本(`pom.xml`),并且能够顺利打包成 JAR 文件供后续操作使用[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值