Gitlab的CI/CD学习(三) —— gitlab-runner

简介

背景

目前市面上常用的自动化部署的工具比较常见的是Jenkins,但是使用过程中,总会遇到各种奇奇怪怪的错误,很难定位问题所在;今天我要介绍的gitlab中的CI/CD功能,个人觉得部署起来更加简单,有效,易排查,可视化界面也更加整洁~

gitlab-runner

gitlab-runner就是在gitlab仓库配置了.gitlab-ci.yml文件后,需要到服务器上安装配置gitlab-runner,并监听对象仓库,当项目仓库发生提交合并操作后,服务器上的runner用户则会根据配置文件的命令进行对应的执行步骤,最终实现代码的打包-部署-运行一系列流程。

配置gitlab-runner

参考gitlab的官方文档

  1. 添加官方gitlab官方仓库
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

2.安装

yum install gitlab-runner

3.配置

gitlab-runner register

进入到配置流程后,核心需要配置的是仓库的地址url和token,还有执行方式executor

其中仓库地址url和token,可以到gitlab仓库上的:
Setting ——> CI/CD ——> Runners ;如下图所示:
Gitlab的CI/CD学习(三) —— gitlab-runner_第1张图片

4.测试
此时已经配置成功后,可以在gitlab-runner的安装目录(默认 /etc/gitlab-runner/config.toml)查看文件配置情况:
Gitlab的CI/CD学习(三) —— gitlab-runner_第2张图片

并且该runner可在Setting ——> CI/CD ——> Runners 查看并管理。

最后只需要提交代码测试,可在对应CI/CD中对应步骤点击查看服务器端的运行情况(附上查看package的运行情况)
Gitlab的CI/CD学习(三) —— gitlab-runner_第3张图片

gitlab-runner常用命令

//查看所有runner
gitlab-runner list 

//删除runner
gitlab-runner unregister --name 
gitlab-runner unregister --url  --token 

注意点

1、若从gitlab仓库中删除了runner,服务器是不会主动更新本地的runner列表的,需要主动拉去更行runner list

gitlab-runner verify --delete

2、 runner运行时,使用的是gitlab-runner用户,其权限限制在/home/gitlab-runner
若需要使用gitlab-runner运行docker,需要将gitlab-runner加入docker用户组

//用户配置docker权限
//首先创建账号
useradd ${userName}
//修改密码
passwd ${userName}
//创建docker组
groupadd docker
//将用户加入docker组
usermod -aG docker ${userName}
//重启docker服务
systemctl restart docker

//需要切换账号才能使配置生效

//切换超级管理员用户
su root
//切换为当前创建的账户
su ${userName}

其他相关文章

  • Gitlab的CI/CD学习(一) —— 简介

  • Gitlab的CI/CD学习(二) —— .gitlab-ci.yml文件

  • Gitlab的CI/CD学习(三) —— gitlab-runner

你可能感兴趣的:(运维)