杂记 | 记录一次使用docker安装gitlab-runner的过程(馋哭了)


01 前情提要

前不久使用docker部署好了自己的gitlab服务,简直香惨了。
上集传送门:记录一次使用Docker安装gitlab-ce的过程(含配置交换内存)

现在,gitlab-runner终于可以来了!

一句话概括有多香:成功安装gitlab-runner后,就可以流水线部署项目了,毕竟“懒惰”是程序员的三大美德之一。

02 编写docker-compose.yml

首先,在服务器上新建一个名为gitlab-runner的目录。
然后在里面新建docker-compose.yml文件。
内容参考:

version: '3.8'
services:
  gitlab-runner:
    image: gitlab/gitlab-runner:latest
    container_name: gitlab-runner
    restart: always
    volumes:
      - ./config:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock  # 这一行是固定写法 不要随便改

03 启动与注册

在docker-compose.yml目录下,分别运行命令:

# 先拉取镜像
docker-compose pull

# 拉取完成后,启动镜像
docker-compose up -d

# 查看启动日志
docker-compose logs -f

查看日志的时候,会发现许多报错信息:
在这里插入图片描述
不慌,这是正常现象。
这是因为runner没有注册,可以理解成runner容器需要和gitlab-ce容器绑定才能使用。

注册时需要填写一些字段,先到gitlab里准备好。

登录gitlab进入设置界面(管理员登录更佳)

在这里插入图片描述

找到CI/CD下的Runner条目,在“新建Runner”旁有3个小点,点击。

在这里插入图片描述

拿到url和令牌:

在这里插入图片描述
然后开始注册:

# 进入容器内部并执行注册操作
docker exec -it gitlab-runner gitlab-runner register  # 第一个gitlab-runner是容器名称 根据实际情况填写

中间需要填写一些信息

# 01 首先,会要求填写url
> Enter the GitLab instance URL (for example, https://gitlab.com/):
# 填刚才拿到的url

# 02 然后,要求填写令牌
> Enter the registration token:
# 填刚才拿到的token

# 03 填写描述
> Enter a description for the runner:
# 随便写,之后可以到设置页面更改

# 04 填写标签 ,分隔
> Enter tags for the runner (comma-separated):
default_runner  # 这个要填一个标签名,之后可以修改

# 05 填写可选说明
> Enter optional maintenance note for the runner:
# 随便写或不写 之后可改

# 06 选择执行器 如果不会选 就选docker
> Enter an executor: custom, docker, shell, ssh, virtualbox, docker-autoscaler, docker+machine, instance, docker-windows, parallels, kubernetes:
docker  # 输入docker并回车

# 07 选择默认镜像(docker选项会有这一步,默认镜像仅当.gitlab-ci.yml没有指定时才生效)
> Enter the default Docker image (for example, ruby:2.7):
alpine:latest  # 我写了个alpine 供参考

# 提示创建成功!
> Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

04 流水线部署

作为测试,我新建了一个项目,写了一个index.html页面。
编写.gitlab-ci.yml文件

pages:
 stage: deploy
 script:
   - mkdir .public
   - cp -r ./* .public
   - rm -rf public
   - mv .public public
 artifacts:
   paths:
     - public
 rules:
   - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

新建一个流水线:

在这里插入图片描述

运行时遇到问题:

在这里插入图片描述

因为我的runner设置了标签,要求作业也要设置对应的标签才行,一种方案是在.gitlab-ci.yml中新增标签。

我这里偷个懒,勾选支持无标签运行。

在这里插入图片描述

重新部署:

在这里插入图片描述
🎉🎉🎉

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿林仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值