写点什么

在 Ubuntu 上安装使用极狐 GitLab Runner

作者:极狐GitLab
  • 2021 年 12 月 06 日
  • 本文字数:2317 字

    阅读完需:约 8 分钟

在 Ubuntu 上安装使用极狐GitLab 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 --versionVersion:      14.5.0Git revision: f0a95a76Git branch:   14-5-stableGO version:   go1.13.8Built:        2021-11-21T16:54:22+0000OS/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 listRuntime platform                                    arch=amd64 os=linux pid=880297 revision=f0a95a76 version=14.5.0Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
复制代码

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

$ gitlab-runner registerRuntime platform                                    arch=amd64 os=linux pid=884619 revision=f0a95a76 version=14.5.0Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):https://jh-xiaomage.gitlab.cnEnter the registration token:soeDCSvexosk2aHL_yJwEnter a description for the runner:[VM-0-6-ubuntu]: ubuntu-runnerEnter tags for the runner (comma-separated):ubuntu,runnerRegistering runner... succeeded runner=soeDCSveEnter an executor: docker, parallels, shell, ssh, virtualbox, custom, docker-ssh, docker+machine, docker-ssh+machine, kubernetes:shellRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
复制代码

可以查看当前 Runner 的状态:

$ gitlab-runner statusRuntime platform                                    arch=amd64 os=linux pid=901121 revision=f0a95a76 version=14.5.0gitlab-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 builderWORKDIR /tmpCOPY devops.go /tmpRUN go build devops.go
FROM alpine:latestWORKDIR /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 还可以在其他操作系统上安装使用,也可以用容器的方式使用。我们将在后续的文章中陆续介绍。

发布于: 2021 年 12 月 06 日阅读数: 7
用户头像

极狐GitLab

关注

开源开放,人人贡献 2021.05.19 加入

开放式一体化DevOps平台,助力行业高速协同增长!

评论

发布
暂无评论
在 Ubuntu 上安装使用极狐GitLab Runner