如何配置极狐GitLab Runner Cache 缓存

本文作者:徐晓伟

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。

极狐GitLab Runner Cache 缓存 支持 S3 标准协议,如:OSS、OOS 等等

  1. 支持 S3 标准协议
  2. 支持 MinIO
  3. 支持 阿里云 OSS 对象储存
  4. 支持 天翼云 OOS 对象储存

说明

  1. 本文使用 Docker 安装 MinIO。

  2. 本文配置极狐 GitLab Runner 的缓存类型为 s3,使用的软件是 MinIO阿里云 OSS 对象储存天翼云 OOS 对象储存

  3. 本文的目的是在极狐 GitLab Runner 执行完成时,通过配置流水线中的缓存,将 Maven依赖、Node依赖等,上传到 minio中,在下次执行流水线时,极狐GitLab Runner 会自动下载上次缓存的文件并解压,提高流水线构建的速度。

  4. 使用 MinIO

  5. 分布式 Runner 缓存

  6. 极狐GitLab Runner 高级配置
    https://docs.gitlab.cn/runner/configuration/advanced-configuration.html

安装 minio

  1. 创建 minio 容器 9000端口:上传下载文件的端口 9001端口:后台管理页面端口 /minio/data:储存文件的目录

    docker run \
    -itd \
    --restart always \
    --privileged=true \
    -p 9000:9000 \
    -p 9001:9001 \
    --name minio1 \
    -v /minio/data:/data \
    quay.io/minio/minio server /data --console-address ":9001"
    
    firewall-cmd --zone=public --add-port=9000/tcp --permanent
    firewall-cmd --zone=public --add-port=9001/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-all
    
  2. 默认用户名:minioadmin,默认密码:minioadmin

  3. 创建一个Buckets,用于储存 GitLab Runner 的缓存,名称为:bucket-1

  4. 创建一个Access Keys,作为 GitLab Runner 上传、下载缓存的凭证。

  5. 设置 GitLab Runner 的缓存配置,配置修改完成后启动的流水线会立即生效

    1. MinIO 配置(支持)

        [runners.cache]# 激活缓存的类型为:s3Type = "s3"# 是否共享缓存# 如果不共享,则会根据 [[runners]] 中的 token 前 8 位创建文件夹,每个 [[runners]] 缓存仅自己能使用Shared = false[runners.cache.s3]# 缓存服务器的地址+端口ServerAddress = "192.168.80.14:9000"# Access Keys 账户凭证AccessKey = "hCfpQlQuEXtBYEAw"SecretKey = "kHH5RwzCRiRUtujKlNRZZZFpuANm6Yr1"# 创建的 Buckets 名称BucketName = "bucket-1"# 设置为 true 代表不使用 httpsInsecure = true
      
    2. 阿里云 OSS 对象储存配置(支持)

        [runners.cache]# 激活缓存的类型为:s3Type = "s3"# 是否共享缓存# 如果不共享,则会根据 [[runners]] 中的 token 前 8 位创建文件夹,每个 [[runners]] 缓存仅自己能使用Shared = false[runners.cache.s3]# 缓存服务器的地址+端口# 此处以青岛地区为例,这里不填写协议ServerAddress = "oss-cn-qingdao.aliyuncs.com"# Access Keys 账户凭证AccessKey = ""SecretKey = ""# 创建的 Buckets 名称BucketName = ""# 设置为 false 代表使用 httpsInsecure = false
      
    3. 天翼云 OOS 对象储存配置

      使用的是:经典版对象存储(经典版)-经典Ⅰ型

        [runners.cache]# 激活缓存的类型为:s3Type = "s3"# 是否共享缓存# 如果不共享,则会根据 [[runners]] 中的 token 前 8 位创建文件夹,每个 [[runners]] 缓存仅自己能使用Shared = false[runners.cache.s3]# 缓存服务器的地址+端口# 此处以青岛地区为例,这里不填写协议ServerAddress = "oos-sdqd.ctyunapi.cn"# Access Keys 账户凭证AccessKey = ""SecretKey = ""# 创建的 Buckets 名称BucketName = ""# 设置为 false 代表使用 httpsInsecure = false# 填写区域,不填写无法使用# 此处以山东青岛地区为例BucketLocation = "sdqd"
      
  6. 如果未配置流水线缓存,在流水线执行时,会出现如下日志

    No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted. 
    
    No URL provided, cache will not be uploaded to shared cache server. Cache will be stored only locally. 
    
  7. 流水线正确设置后,在流水线执行时,会出现如下日志

    # 首次设置成功后执行,会出现下列日志,不过不用担心,本次执行成功上传依赖完成后,下次就不会出现了
    # 若缓存文件被删除,也会出现此日志
    WARNING: file does not exist                       
    Failed to extract cache
    
    Downloading cache.zip from http://192.168.80.14:9000/bucket-1/runner/HcQesvsi/project/2/default-protected 
    Successfully extracted cache
    
    Uploading cache.zip to http://192.168.80.14:9000/bucket-1/runner/HcQesvsi/project/2/default-protected 
    
  8. 若要禁用缓存,只需要将 Type = “s3” 禁用即可

更多关于极狐GitLab 的最佳实践,请搜索关注【极狐GitLab】公众号或者登录极狐GitLab 官网进行学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/741353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十五届蓝桥杯(Web 应用开发)模拟赛 3 期-大学组(被题目描述坑惨了)

目录 1.创意广告牌 2.原子化css 3.神秘咒语 4.朋友圈 5.美食蛋白揭秘 6.营业状态变更 7.小说阅读器 8.冰岛人 9.这是一个”浏览器“ 10.趣味加密解密 总结 1.创意广告牌 这个题目不多说了,只要知道这些css应该都能写出来,不会的平时多查查文…

C++第三弹---C++入门(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 C入门 1、内联函数 1.1、概念 1.2、特性 2、auto关键字(C11) 2.1、类型别名思考 2.2、auto简介 2.3、auto的使用细则 2.3、auto不能推导的场景 …

【Axure视频教程】计算日期区间天数差

今天教大家怎么计算两个日期之间相差了多少天,本教程以输入框里填写日期区间为案例,输入日期后,点击等于按钮,就可以计算出两个日期之间相隔了多少天,如果开始日期大于结束日期,就会显示负多少天。具体效果…

探索Linux世界:基本指令(文件查看、时间相关、grep、打包压缩及相关知识)

今天继续介绍一些指令 文章目录 1.cat - 查看文件1.1输出重定向和追加重定向1.2指令echo 2.more 指令3.less - 逐页查看文本文件内容4.head- 显示文件开头部分内容5.tail - 显示文件末尾部分内容5.1输入重定向&#xff08;<&#xff09;5.2管道&#xff08;|&#xff09; 6.…

镭速教你如何解决大数据量串行处理的问题

大数据的高效处理成为企业发展的关键。然而&#xff0c;大数据量串行处理的问题常常困扰着许多企业&#xff0c;尤其是在数据传输方面。本文将探讨大数据量串行处理的常见问题&#xff0c;并介绍企业常用的处理方式&#xff0c;最后重点阐述镭速如何提供创新解决方案&#xff0…

吴恩达机器学习-未分级实验:过拟合(Overfitting)

解决过拟合 选择更多的数据选择特征&#xff08;特征选择&#xff09;减小参数大小&#xff08;归一化&#xff09; 目标 在本实验中&#xff0c;您将探索: 可能发生过拟合的情况一些解决方案 %matplotlib widget import matplotlib.pyplot as plt from ipywidgets import …

训练专门化的大型语言模型(LLM)现在更简单了

训练专门化的大型语言模型&#xff08;LLM&#xff09;现在更简单了 近年来&#xff0c;大型语言模型&#xff08;LLM&#xff09;的兴趣激增&#xff0c;但其训练需要昂贵的硬件和高级技术。幸运的是&#xff0c;通过先进的微调技术&#xff0c;如低秩适配&#xff08;LoRA&a…

無塵棉花棒:光電設備與光纖清潔的理想之選

在光電設備和光纖清潔用品的领域中&#xff0c;無塵棉花棒以其卓越的性能和特性&#xff0c;已然成為清潔設備端光纖插座的最佳選擇。它不仅具有出色的清潔效果&#xff0c;而且在使用過程中無棉絮、無矽&#xff0c;確保了清潔過程的高效和安全。 首先&#xff0c;無塵棉花棒…

Oracle数据库连接方式

在平时的开发和运维工作中经常会有连接数据库的需求&#xff0c;而连接Oracle数据库的方法有很多种&#xff0c;本文给大家介绍常用的3种方法。希望对大家有所帮助。 方法一&#xff1a;使用操作系统验证方式 $ sqlplus / as sysdba方法二&#xff1a;使用 easy connect 方式…

1261. 在受污染的二叉树中查找元素

1261. 在受污染的二叉树中查找元素 题目链接&#xff1a;1261. 在受污染的二叉树中查找元素 代码如下&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(…

汽车行驶工况||汽车行驶工况构建|||工况导入AVL Cruise(附下载)

包含项目 NEDC——欧洲工况 CLTC-C——中国 CLTP-P——中国 JAP10——日本 等几十种工况&#xff0c;可导入其他工况至AVL cruise "在每一个级别的驾驶测试中&#xff0c;WLTP规程又设定了能够代表全球城市道路、高速公路、山路等路况条件下的测试规程。每个部分的测试时…

[数据湖iceberg]-hive集成数据湖读取数据的正确姿势

1 概述 Iceberg作为一种表格式管理规范&#xff0c;其数据分为元数据和表数据。元数据和表数据独立存储&#xff0c;元数据目前支持存储在本地文件系统、HMS、Hadoop、JDBC数据库、AWS Glue和自定义存储。表数据支持本地文件系统、HDFS、S3、MinIO、OBS、OSS等。元数据存储基于…

百度AI智能审核

一、介绍 百度内容审核平台&#xff08;Baidu Content Audit Platform&#xff09;是百度推出的一款用于进行内容审核的平台。该平台利用人工智能技术&#xff0c;对用户上传的各类内容进行审核和过滤&#xff0c;以实现内容的合规和安全&#xff0c;可以识别和过滤涉黄、涉政…

微信小程序云开发教程——墨刀原型工具入门(常用组件)

引言 作为一个小白&#xff0c;小北要怎么在短时间内快速学会微信小程序原型设计&#xff1f; “时间紧&#xff0c;任务重”&#xff0c;这意味着学习时必须把握微信小程序原型设计中的重点、难点&#xff0c;而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

自己用的小笔记

1、由于服务器的环境老是坏掉&#xff0c;这里稍微记录一点。 cuda的下载地址&#xff1a; https://developer.nvidia.com/cuda-toolkit-archive 记得是驱动的问题&#xff0c;那么直接下载一个驱动放上去应该就可以 先离线下载吧&#xff0c;然后清理到老的&#xff0c;安装…

三款内衣洗衣机的性能较量:希亦、觉飞、鲸立谁的性能更胜一筹?

现在大多数的上班族&#xff0c;面临的都是早九晚六的工作&#xff0c;而且工作完下班回家还是面对各种各样的家务&#xff0c;特别是清洗需要换洗的洗衣&#xff0c;属实是有点辛苦了。可能很多人为了方便&#xff0c;每次洗衣服的都是把一堆衣服直接丢进洗衣机&#xff0c;直…

新手必看,不容错过的厨房装修设计趋势。福州中宅装饰,福州装修

厨房&#xff0c;这个家中最具烟火气息的地方&#xff0c;装修设计的重要性不言而喻。今天我们就来聊聊厨房装修设计的那些事儿&#xff0c;从传统到新趋势&#xff0c;让我们一起看看有哪些值得注意的地方。 传统篇 1. 地轨推拉门 在传统厨房装修中&#xff0c;地轨推拉门是…

【四】将vue部署到k8s中

准备dockerfile和jenkinsfile还有yml文件 因为我前三步将其他的都弄好了&#xff0c;我现在的目的只是为了简单部署上去&#xff0c;所以没做其他深入研究配置&#xff0c;我的简单代码&#xff1a;https://gitee.com/feiminjie/helloworldfront我准备的dockerfile # 使用官方…

Yakit爆破模块应用

yakit介绍 一款集成了各种渗透测试功能的集成软件。&#xff08;类似于burp&#xff0c;但我感觉他功能挺强大&#xff09; 爆破模块位置 按照下面图标点击 界面就是如下。 左侧可以选择爆破的类型&#xff0c;各种数据库http&#xff0c;ssh等都支持。 爆破参数 可以选择…

贪心算法(算法竞赛、蓝桥杯)--奶牛晒衣服

1、B站视频链接&#xff1a;A28 贪心算法 P1843 奶牛晒衣服_哔哩哔哩_bilibili 题目链接&#xff1a;奶牛晒衣服 - 洛谷 #include <bits/stdc.h> using namespace std; priority_queue<int> q;//用大根堆维护湿度的最大值 int n,a,b; int tim,maxn;int main(){s…