gitlab runner安装和使用实例

2021-04-15  本文已影响0人  轻风01

Gitlab CI/CD

本地推送代码至Git仓库,触发Gitlab

CI执行的条件:

1、仓库根目录存在.gitlab-ci.yml文件

2、该仓库有可用的Gitlab runner

Gitlab runner for Linux

下载runner

根据服务器的型号,注意区分linux32位和64位系统,进行选择下载

# Linux x86-64

 sudo wget -O/usr/local/bin/gitlab-runnerhttps://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

 # Linux x86

 sudo wget -O/usr/local/bin/gitlab-runnerhttps://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386

 # Linux arm

 sudo wget -O/usr/local/bin/gitlab-runnerhttps://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm

从gitlab官网下载耗时较长,请耐心等待

安装runner

下载完成后,给gitlab-runner添加执行权限

sudo chmod +x /usr/local/bin/gitlab-runner

之后创建一个gitlab-runner用户,之后使用CI/CD时,都是在这个用户下进行的。

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner

--shell /bin/bash

创建好了用户之后,接下来安装gitlab-runner

(后面注册runner出现一系列问题,个人建议还是使用root用户安装gitlab runner,避免后面有其他问题)

sudo gitlab-runner install --user=gitlab-runner

--working-directory=/home/hawk-test/gitlab-runner

如果安装过程出现错误,想要卸载gitlab-runner,命令为

sudo gitlab-runner uninstall

安装完成后,如下图所示

安装成功以后,启动gitlab-runner

sudo gitlab-runner start

注册runner

首先找到自己的gitlab项目下设置,CI/CD,Runner

可以看到如下:

URL,和注册令牌一会在注册runner的时候需要用到,

在自己的runner服务器上,输入如下命令,开始注册runner:

gitlab-runner register

依次输入gitlab上的url和token,回车

填写runner描述,自己填写

之后填写runner的tags,用于在之后CI/CD操作时标识使用哪个runner来进行流水线

之后选择需要以哪种方式运行runner,这里我选择用shell方式运行runner,大家可以自行根据自己需要选择

到此,runner就注册完毕了。可以到gitlab上看下,刚刚注册的runner是否存在

注册runner成功。状态要显示绿色圆圈才表示在线,如果显示黑色,感叹号,则注册的runner是有问题的,会影响流水线的执行。

如果显示黑色,提示“New runner.Has not connected yet”,尝试以下操作

删除/etc/gitlab-runner/config.toml

将~/.gitlab-runner/config.toml拷贝到/etc/gitlab-runner/目录

sudo cp~/.gitlab-runner/config.toml /etc/gitlab-runner/config.toml

gitlab-runner能够注册成功的配置如下

当注册之后,runner状态为黑色,可能是配置文件中没有runners部分

Gitlab runner for windows

下载runner

1、 下载gitlab-runner for windows,可以从官方文档的下载链接进行下载

https://docs.gitlab.com/runner/install/windows.html

2、 在windows电脑D盘新建gitlab-runner文件夹,将下载的exe重命名为gitlab-runner.exe,放入D:\gitlab-runner路径下

安装runner

1、电脑上搜索powershell,以管理员身份运行,cd d:\gitlab-runner

2、执行.\gitlab-runner.exe install安装

3、执行.\gitlab-runner.exe start启动

注册runner

1、注册runner 执行./gitlab-runner.exe register

2、提示Enter the GitLab instance URL (for example,https://gitlab.com/):,输入gitlab

web页面setting-CI/CD-runner下的url,如下图

3、输入上图中的token

4、输入description和tag,自己设定

5、runner注册完成,到页面上查看runner状态是否正常

CI配置文件.gitlab-ci.yml

.gitlab-ci.yml文件在仓库的根目录,可通过点击文件或在CI/CD-Editor查看配置详情和进行编辑。

关于.gitlab-ci.yml语法格式,详细介绍见官网链接:https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html

stages

.gitlab-ci.yml告诉Gitlab runner要做什么事情,默认三个stage:build, test, deploy。不必三个都用,没有job的stage会被忽略。如上图中,只有两个stage

jobs

图中build_job和test_job是两个job,同一stage下的job并行执行,不同stage下的job按build、test顺序先后执行。如果前一个stage的job fail,后续job不执行。

每个job的格式如下:

test_job:

  stage: test

script:

  - echo "Tests run..."

  - cd d:\script

  - python gitlab-test.py

tags:

  - test-win

Job中需要指定stage,如果不指定,默认被放在test stage

Script:需要执行的shell命令

before_script:如果指定了before_script,在每个job执行前会先执行before_script,可以通过job中写before_script来覆盖全局的before_script

after_script:如果指定了after_script,在每个job执行完后会执行after_script

tags:指定执行job的runner的tag

only:指定分支

pipelines

当push代码后触发了CI执行,执行状态可以在CI/CD-Pipelines中查看,执行中为running,未执行为pending,成功为success,失败为fail,取消为cancel,点进每一个pipeline可以看到执行过程每个job的log

上一篇下一篇

猜你喜欢

热点阅读