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。
GitLab CI/CD 作业缓存如何使用 RustFS?的更多相关文章
- GitLab CI/CD的官译【原】
CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...
- 官网GitLab CI/CD英文文档翻译
在查阅GitLab官网的CI/CD功能说明时,全是英文看起来不方便,通过翻译软件自动翻译后"内容失真",看起来很变扭.查阅了百度上的资料发现很多翻译很老旧,有些甚至是挂羊头卖狗肉. ...
- GitLab CI/CD 自动化部署入门
前言:因为找了B站内推,测试开发,正好知道内部使用GitLab做自动化测试,所以简单学了一下,有错误的地方请指正. 入门 初始化 cp: 无法获取'/root/node-v12.9.0-linux-x ...
- 使用 Gitlab CI/CD 实现自动化发布站点到 IIS
说明 这里先介绍下两个东西 CI/CD.GitLab Runner,当然在此之前你需要对 git 有所了解,关于 git 这里不做说明,可以自行百度. 首先介绍 CI/CD :随着我们开发方式的转变, ...
- 前端初探 Gitlab CI/CD
前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就是其中一项,那么什么是 C ...
- Gitlab CI/CD
Gitlab CI/CD 前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就 ...
- [转]GitLab Continuous Integration (GitLab CI/CD)
本文转自:https://docs.gitlab.com/ee/ci/README.html GitLab Continuous Integration (GitLab CI/CD) The bene ...
- .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker
之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...
- GitLab CI/CD持续集成设置
GitLab CI/CD持续设置 官方文档地址(https://docs.gitlab.com/ee/ci/README.html) GitLab CI.CD功能非常完善,只需要简单几步,就可以完成项 ...
- .NetCore 配合 Gitlab CI&CD 实践 - 开篇
引言 这是一个系列的文章,讲述的是一个中小型开发团队如何从零开始使用搭建基建 GitLab 代码托管平台,以及使用 GitLab Runner 实现 CI/CD 的故事.本系列通过部署一个完整的 .n ...
随机推荐
- 8086汇编(16位汇编)学习笔记01.汇编基础和debug使用
原文链接: https://bpsend.net/thread-100-1-2.html 为什么学习16位汇编? 16位操作指令最多能够操作两个字节,且更能够体现出与硬件的交互.16位下的指令和32位 ...
- 本地编译WPF框架源码
最近,在 排查WPF框架触摸失效和书写 Stroke 绘制的问题,常常需要查看WPF 的源码,由于项目组用到的框架大部分都是 .netFramwork 的,只能通过VS的F12按键反编译或者Dnspy ...
- python解析身份证获取年龄、出生日期、性别
import re import datetime def parse_id_card(id_card): # 获取身份证号中的出生年月日和性别和年龄 birthday_pattern = re.co ...
- 初探Iris
Iris 安装 go get -u github.com/kataras/iris 若遇到下面这种情况: 可删除保存路径中的kataras目录,并执行go get github.com/kataras ...
- String Game
二分答案的练手题,虽然很淼,但本题解提供一种清爽的解. 首先,二分什么: 当然是二分可以删除的次数,并使用 check 函数判断该值是否合法.这点毋庸置疑. check 怎么写. 首先,我们假设可以删 ...
- Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 解决办法
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 线程"main ...
- AI智能体的技术架构与解决方案
相比于传统软件,AI智能体是一个新兴事物,技术架构和解决方案仍处在高速迭代中.所以,本文章将重点放在理清AI智能体相关的技术脉络,而非具体技术实现.更多相关知识还需要读者通过第三方搜索等方式,保持与时 ...
- WDA SEARCH step by step
之前写了不少的东西,其实大多数都是给自己看的,我的习惯是把资料放到网上,用的时候直接看博客. 之前硬盘轻轻摔了一下,几年的资料没了,然后就再也不用硬盘了. 昨天有人突然问我关于WDA的问题,毕竟奇怪, ...
- 8月18日直播预告 | Flink SQL转换Operator流程及源码解析
8月18日晚19点,袋鼠云数栈技术研发团队开发工程师--修竹,将会为大家直播分享<Flink SQL转换Operator流程及源码解析>. 课程内容主要包括以下两点: 1. Flink ...
- 3节点开启大数据时代:EasyMR助力中小企业轻装上阵、国产转型
在数字化浪潮中, 数据已成为中小企业竞争力的核心要素.然而,受限于预算.技术和运维能力,众多中小企业在建设大数据平台时常陷入"建不起.用不好"的困境. 传统大数据平台通常起步门槛高 ...