
腾讯云轻量应用服务器是一款开箱即用、面向轻量应用场景,恰逢11.11活动,新人仅需28元立享一年,每天限时抢购,手快有手慢无。传送门直达

轻量应用服务器内置多种模板,用来降低应用部署难度,使用上手非常方便,包括主流的管理平台宝塔,主流的应用博客系统WordPress,以及各种应用运行环境如lamp等等

一、什么是gitlab-runner
gitlab已经是大家耳熟能详的主流代码管理仓库,但是gitlab-runner还是有很多小伙伴是不了解的。不过Jenkins大家应该都是知道的也是很多人使用过的一款好用的cicd工具。gitlab-runner和Jenkins类似,只不是是gitlab开源,并且gitlab原生就支持的cicd工具,可以通过在项目中,增加.gitlab-ci.yaml实现流水线任务,并且将任务下发到gitlab-runner去运行。以下是我个人在使用中发现的一些gitlab-runner的有点
优点:
1、安装便捷:使用docker安装部署即可
2、占用自用非常少,只需要低配服务器就可以正常使用(前提是任务中不能有非常消耗资源的)
3、配置简单灵活,yaml格式的配置文件,你想要的他都有
二、安装配置
2.1、大前提,你得现有一个gitlab服务,如果没有的好话,请关闭该页面(就好比,行侠正义,连门都进不去,搞个球。。。),本文重点讲gitlab-runner在腾讯云轻量服务器上的不安装配置,gitlab服务本身占用资源较多,并不适合轻量应用服务器。
2.2、正式安装
首先在购买轻量应用服务器时可以选择带docker的模板,这样安装会简单很多,或者选择常见linux系统也可以,需要我们手动安装一下docker

下载镜像
gitlab/gitlab-runner:v15.8.2,注意一下这个版本,要个gitlab对应
docker pull gitlab/gitlab-runner:v15.8.2创建目录
这部分有一些我自定义的目录,仅供参考。gitlab-runner安装到/opt/gitlab-runner下,子目录包括bin conf
# bin目录存放docker run命令
# conf目录存放配置文件
mkdir -p /opt/gitlab-runner/{bin,conf}编写start.sh脚本
vim /opt/gitlab-runner/bin/start.sh
# 内容如下
# 注意日志限制,要不然长时间运行会导致空间不够
docker run -d --name gitlab-runner --restart always \
-v /opt/gitlab-runner/conf:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone \
--log-opt max-size=10m \
gitlab/gitlab-runner:v15.8.2
# 执行权限
chmod 755 /opt/gitlab-runner/bin/start.sh
#启动
/opt/gitlab-runner/bin/start.sh访问gitlab上下文地址:http://{gitlab-url}/admin/runners
复制registration token

注册gitlab-runner
docker exec -it gitlab-runner bash
gitlab-runner register
# 安装提示输入以下信息
# 1、register url:上一步获取
# 2、registration token :上一步获取
# 3、gitlab-runner描述:qlyy
# 4、gitlab-runner tag:qlyy
# 5、gitlab-runner执行方式:docker
# 6、default image: alpine:latest修改gitlab-runner配置
注册成功后会自动生成配置文件,放在目录/opt/gitlab-runner/conf
在[runners.docker]代码块下增加pull_policy = "if-not-present"
重启gitlab-runner
完成以上步骤后,gitlab-runner就已经正常安装并注册到我们的gitlab服务上,我们只需要在项目中增加gitlab-ci.yaml就可以自动触发构建任务
官方给出了大量示例https://docs.gitlab.com/ee/ci/examples/,大家可以参考配置
正常执行的任务截图如下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。