GitLab CI/CD 作业缓存如何使用分布式存储 RustFS?

GitLab CI/CD 作业缓存(cache)是加速 CI/CD 流水线(Pipeline)执行的重要手段,缓存可以配置使用远端对象存储。本文分享如何将新一代高性能分布式存储系统配置为 GitLab CI/CD 作业的缓存存储对象。

关于 RustFS

RustFS 是国内研发团队开源的一款兼容 S3 的分布式存储系统,用 Rust 编写,经过实测,性能优于 MinIO,能够平替 MinIO。RustFS 支持二进制、Docker 的安装方式。本文直接使用 RustFS 官方文档中二进制的安装方式进行了安装。直接执行如下命令:

curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

执行成功后可以用默认用户名和密码(均为 rustfsadmin)通过 localhost:9000进行登录:

在这里插入图片描述

GitLab 安装本文直接安装了 GitLab JH 版本,在官网下载安装页面根据对应的 OS 进行安装即可,然后用默认用户名和密码登录即可:

在这里插入图片描述

在 GitLab 中配置 RustFS在 RustFS 上创建 Bucket在 RustFS 控制台首页,点击创建存储桶,输入存储桶名称即可创建成功:

在 Runner 中配置 RustFS在 Runner 的配置文件中,添加如下内容:

  [runners.cache]
    MaxUploadedArchiveSize = 0
    Type = "s3"
    Path = "rustfs"
    Shared = false
    [runners.cache.s3]
      ServerAddress = "12.34.56.78:9000"
      AccessKey = "RUSTFS_AccessKey"
      SecretKey = "RUSTFS_SecretKey"
      BucketName = "job-cache"
      BucketLocation = "cn-east-1"
      Insecure = true

然后,创建几个 CI/CD 作业,作业内容如下:

test-job:
  stage: build
  tags:
    - rustfs
  cache:
    - key:
        files:
          - 3.txt
      paths:
        - rustfs/
    - key:
        files:
          - 4.txt
      paths:
        - rustfs/
  script:
    - cat rustfs/3.txt
    - cat rustfs/4.txt

触发流水线,可以看到对应的日志:

在这里插入图片描述

在 RustFS 上查看配置的 Bucket job-cache 中是否有数据:

在这里插入图片描述

可以看到有数据产生。证明 GitLab 使用了配置的 RustFS bucket。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值