gitlab-runner 配置过程

golang项目使用gitlab-runner自动编译

背景:
gitlab 版本: 8.12.x
go版本: 1.13.x
gitlab-runner版本:1.11.x

go配置部分:

下载相应版本的go,本次使用1.13版本
https://studygolang.com/dl

linux go 1.13

配置go环境,在"/etc/profile"配置变量

export GOROOT=/opt/go
export GOPATH=/data/golang
export PATH=$PATH:$GOROOT/bin

验证

go version
go 验证 1.13

gitlab-runner配置部分:

因为我们现在的gitlab版本比较低,所以只能使用runner的版本是1.1x的。runner的安装参考一下repo内容:

name=runner_gitlab-ci-multi-runner
baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[runner_gitlab-ci-multi-runner-source]
name=runner_gitlab-ci-multi-runner-source
baseurl=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/runner/gitlab-ci-multi-runner/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

再执行

yum install -y gitlab-ci-multi-runner-1.11.2-1.x86_64

gitlab-runner配置:
在命令行针对gitlab的project进行注册,有token和url需要关注,在project的runner里面可以找到


注册所需信息

执行命令"gitlab-runner register"进行注册

需要按照步骤输入:

输入gitlab的服务URL,这个使用的是https://gitlab.com/
输入gitlab-ci的Toekn,获取方式参考上图
关于集成服务中对于这个runner的描述
给这个gitlab-runner输入一个标记,这个tag非常重要,在后续的使用过程中需要使用这个tag来指定gitlab-runner
是否运行在没有tag的build上面。在配置gitlab-ci的时候,会有很多job,每个job可以通过tags属性来选择runner。这里为true表示如果job没有配置tags,也执行
是否锁定runner到当前项目
选择执行器,gitlab-runner实现了很多执行器,可用在不同场景中运行构建,详情可见GitLab Runner Executors,这里选用Shell模式
注册

配置完成,在project中添加ci脚本(没有deploy过程)

stages:
  - test
  - build
  - deploy
test:
  stage: test
  tags:
    - golang-runner
  script:
    - go test ./...
build:
  stage: build
  tags:
    - golang-runner  
  script:
    - go build

运行展示


效果展示

你可能感兴趣的:(gitlab-runner 配置过程)