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 ...
随机推荐
- C# Environment.CurrentDirectory和AppDomain.CurrentDomain.BaseDirectory的区别
Environment.CurrentDirectory 和 AppDomain.CurrentDomain.BaseDirectory 都是C#中用于获取当前应用程序的目录路径的方法,但是它们的用途 ...
- .NET外挂系列:7. harmony在高级调试中的一些实战案例
一:背景 1. 讲故事 如果你读完前六篇,我相信你对 harmony 的简单使用应该是没什么问题了,现在你处于手拿锤子看谁都是钉子的情况,那这篇我就找高级调试里非常经典的 3个钉子 让大家捶一锤. 二 ...
- .NET 开源工业视觉系统 OpenIVS 快速搭建自动化检测平台
前言 随着工业4.0和智能制造的发展,工业视觉在质检.定位.识别等场景中发挥着越来越重要的作用.然而,开发一个完整的工业视觉系统往往需要集成相机控制.图像采集.图像处理.AI推理.PLC通信等多个模块 ...
- Target JRE version (1.8.0_201) does not match project JDK version (java version "1.7"), will use sources from JDK: 1.8
问题描述:IntelliJ IDEA 启动项目时,常常提示Target JRE version (1.8.0_201) does not match project JDK version (java ...
- Kubernetes中的多租户
多租户 多租户集群由多个用户和/或工作负载共享,这些用户和/或工作负载被称为"租户".多租户集群的运营方必须将租户彼此隔离,以最大限度地减少被盗用的租户或恶意租户可能对集群和其他租 ...
- 关于ChatmoneyAI的讨论
本文由 ChatMoney团队出品 最近ChatmoneyAI团队"打鸡血"似的全力开发,更新频繁到备受同行关注,那今天我们来浅谈一下ChatmoneyAI.它之所以能被认可,并不 ...
- Error creating bean with name 'xxx' defined in file异常处理
SpringBoot整合mybatis 今天在使用mybatis generator时遇到一个坑,出现以下错误 Error creating bean with name 'authorizeCont ...
- [原创]《C#高级GDI+实战:从零开发一个流程图》第03章:画一个线,连接两个矩形!
一.前言 上一节我们实现了多个不同颜色的可拖动的矩形,那么这一节就来看一下如何将这些矩形连起来吧. 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesli ...
- DRF之JWT签发Token源码分析
DRF之JWT签发Token源码分析 [一]JWT介绍 JWT(JSON Web Token)是一种用于身份认证和授权的开放标准(RFC 7519). 它基于JSON格式定义了一种安全的令牌,用于在客 ...
- NOI 2017 蚯蚓排队 题解
Problem 原题链接 Meaning 给定一些数字,对它们进行首尾相接和断开两种操作.对于每次询问,求对于每个数字,其后长度一定的数字串在给定数字串中出现的次数,并给出这些次数之积. Soulti ...