在 Ubuntu 上安装使用极狐GitLab Runner

目录

极狐GitLab Runner

01 Runner 的安装

02 Runner 的注册

03 Runner 的使用


极狐GitLab Runner

极狐GitLab Runner 是极狐GitLab 的重要组件,是实现 CI/CD 的“瑞士军刀”,具有安装简单、使用灵活的特点,而且支持多种 CPU 架构、多种 Linux 发行版以及多种 OS。

  • 支持的 CPU 架构有:x86, AMD64, ARM64, ARM, s390x, ppc64le

  • 支持的 Linux 发行版有:CentOS, Debian, Ubuntu, RHEL, Fedora, Mint

  • 支持如下的 OS:Linux, Windows, macOS, FreeBSD

极狐GitLab Runner 的安装使用方式也很灵活,可以通过安装包安装,也可以用 docker 来运行,甚至都支持 Kubernetes。本轮手把手教程会分享这几个种方式的花式玩法。首先来看看用安装包在 Ubuntu 系统上安装并极狐GitLab Runner 的方式。

01 Runner 的安装

Runner 的安装非常简单,只要找到对应操作系统的安装包进行安装即可。本文以 ubuntu 20.04 为例来说明。

可以在极狐GitLab Runner 官网下载最新版本,也可以下载其他版本。用下面命令下载针对 ubuntu 20.04 的最新版安装包:

$ curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb"
$ ls -ltr
-rw-rw-r-- 1 root root  438976174 Nov 24 13:58 gitlab-runner_amd64.deb

接着用如下命令进行安装即可:

$ dpkg -i gitlab-runner_amd64.deb

可以通过 --help 或 --version 来查看安装是否成功:

$ gitlab-runner --version
Version:      14.5.0
Git revision: f0a95a76
Git branch:   14-5-stable
GO version:   go1.13.8
Built:        2021-11-21T16:54:22+0000
OS/Arch:      linux/amd64

02 Runner 的注册

Runner 安装完毕,在真正使用之前需要先进行注册。注册的目的是让 Runner 和极狐GitLab 实例建立连接通道,当极狐GitLab 实例中的项目有 CI/CD Pipeline 需要执行的时候,就会通过这个注册的 Runner 来执行。

极狐GitLab Runner 的注册很简单,通过 gitlab-runner register 命令即可,根据不同阶段的输出输入极狐GitLab 实例的 URL、Token等,这些内容可以通过项目的 Setting --> CI/CD --> Runner 选项来获取,如下图所示:

上述极狐GitLab 实例的的地址是 https://jh-xiaomage.gitlab.cn(通过 Omnibus 安装的,安装过程可以参考文章使用 Omnibus 安装极狐GitLab),token 如上图红色方框所示,接着就可以用 gitlab-runner register 来注册 Runner 了。

注册之前,可以先检查一下,是否已经安装了 Runner:

$ gitlab-runner list
Runtime platform                                    arch=amd64 os=linux pid=880297 revision=f0a95a76 version=14.5.0
Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml

可以看到,当前没有可使用的 Runner,接下来开始注册:

$ gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=884619 revision=f0a95a76 version=14.5.0
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://jh-xiaomage.gitlab.cn
Enter the registration token:
soeDCSvexosk2aHL_yJw
Enter a description for the runner:
[VM-0-6-ubuntu]: ubuntu-runner
Enter tags for the runner (comma-separated):
ubuntu,runner
Registering runner... succeeded                     runner=soeDCSve
Enter an executor: docker, parallels, shell, ssh, virtualbox, custom, docker-ssh, docker+machine, docker-ssh+machine, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

可以查看当前 Runner 的状态:

$ gitlab-runner status
Runtime platform                                    arch=amd64 os=linux pid=901121 revision=f0a95a76 version=14.5.0
gitlab-runner: Service is running

现在就可以在极狐GitLab 实例的 Runner 界面上看到,新增了一个 Runner 且处于 active 状态:

03 Runner 的使用

Runner 主要用来完成 CI/CD Pipeline 的执行。可以在做 Demo 的 Project 中添加 .gitlab-ci.yml 文件,来构建一个 CI/CD Pipeline,Project 代码目录如下:

$ tree
.
├── devops.go
├── Dockerfile
└── README.md

devops.go 文件的内容如下:

package main

import (
    "fmt"
    "log"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello this is xiaomage")
}

func main() {
    http.HandleFunc("/jihu", handler)
    log.Fatal(http.ListenAndServe(":9999", nil))
}

Dockerfile 的内容如下:

FROM golang:1.12.9-alpine3.9 as builder
WORKDIR /tmp
COPY devops.go /tmp
RUN go build devops.go

FROM alpine:latest
WORKDIR /usr/src/app/
COPY --from=builder /tmp/devops /usr/src/app/
CMD ["./devops"]

.gitlab-ci.yml 文件的内容如下:

stages:
  - build

build:
  image: docker:latest
  stage: build
  services:
    - docker:20.10.7-dind
  script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - docker build -t $CI_REGISTRY_IMAGE:1.0.0 .
    - docker push $CI_REGISTRY_IMAGE:1.0.0

接着触发 CI/CD,查看 Pipeline 构建结果:

查看 Pipeline 构建日志:

可以从红色方框看到,此次 CI/CD Pipeline 的构建使用了新安装的 Runner。

至此,已经完成了极狐GitLab Runner 在 Ubuntu 上的安装和使用。当然,极狐GitLab Runner 还可以在其他操作系统上安装使用,也可以用容器的方式使用。我们将在后续的文章中陆续介绍。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值