如何部署极狐GitLab Runner Cache 缓存配置?

news/2024/7/27 8:16:48/文章来源:https://blog.csdn.net/weixin_44749269/article/details/136530798

本文作者:徐晓伟

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 高级配置

    1. GitLab 中文文档

安装 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 官网 https://gitlab.cn 进行学习。

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

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

相关文章

NLP:spacy库安装与zh_core_web_sm配置

到公司来第一个项目竟然是偏文本信息抽取与结构化的,(也太高看我了┭┮﹏┭┮) 反正给机会了就上吧,我就一臭实习的,怕个啥。配置了两天的环境,也踩了不少坑,我把我的经历给大家分享一下&#…

什么是B+树,和B树有什么不同?

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

鸿蒙App动画、弹窗

动画 属性动画 https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-animatorproperty-0000001478181445-V3 组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。支持的属性包括width、height、backg…

vb.net获取Windows主题颜色、深色模式窗体,实时响应

先上效果图 可直接跳到完整代码 目录 先上效果图 开始教学 响应用户的更改 API讲解 读取深浅模式、主题颜色、十六进制颜色转换 完整代码 如果大家留意资源管理器的“文件”菜单的话就会发现它的底色就是你设置的主题色,在更改Windows颜色模式时,…

泰迪智能科技2024全国高校大数据与人工智能师资研修班即将开班

为推动各院校完善专业建设,解决专业教学中行业案例缺失和实战能力不足等相关痛点问题,泰迪科技基于十余年深耕数据智能产业实践经验,特推出全国高校大数据与人工智能师资研修班,每年在全国范围内滚动开展,截止目前已在…

新书速览|Photoshop+CorelDRAW商业广告设计入门到精通:视频教学版

8章实例剖析商业案例,帮你提升设计效率。商业实战案例,真正掌握设计技能! 本书内容 《PhotoshopCorelDRAW商业广告设计入门到精通:视频教学版》以创作精美、类型多样的案例,全面地讲解Photoshop与CorelDRAW软件相结合…

Android SDK2 (实操三个小目标)

书接上回:Android SDK 1(概览)-CSDN博客 今天讲讲三个实际练手内容,用的是瑞星微的sdk。 1 实操编译Android.bp 首先还是感叹下,现在的系统真的越搞越复杂,最早只有gcc,后面多了make&#xf…

web3时事粥报

比特币正成为更具有吸引力的通胀对冲工具 在通胀的宏观经济浪潮中,比特币正逐渐崭露头角,成为那些渴望多元化投资组合的投资者眼中的璀璨明星。Kooner 预测,2024年,各种宏观经济挑战可能进一步提升比特币、黄金和白银等资产的避险…

VSCode 隐藏侧边栏文件或文件夹

开发时有些文件根部就会动,可能是运行的环境或者缓存,可能是其他的文件。 但是又不能删除,影响开发的观感,那么怎么在侧边栏栏隐藏文件呢 搜索的时候想要加快速度,怎么屏蔽某些文件呢 隐藏侧栏显示文件或屏蔽搜索范围…

代码随想录刷题笔记 DAY 42 | 背包问题 - 二维 | 背包问题 - 一维 | 分割等和子集 No.416

文章目录 Day 4201. 背包问题 - 二维<1> 01 背包问题<2> 动态规划优化 02. 背包问题 - 一维03. 分割等和子集&#xff08;No. 416&#xff09;<1> 题目<2> 笔记<3> 代码 Day 42 01. 背包问题 - 二维 <1> 01 背包问题 有 n 个物品和最多…

SpringBoot集成ElasticSearch(ES)

ElasticSearch环境搭建 采用docker-compose搭建&#xff0c;具体配置如下&#xff1a; version: 3# 网桥es -> 方便相互通讯 networks:es:services:elasticsearch:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/elasticsearch:7.14.1 # 原镜像elasticsearch:7.…

销售管理之反向与正向目标控制

在销售活动中&#xff0c;控制力是关键。但控制力其实分为两种&#xff1a;反向控制和正向控制。本文将深入探讨这两种控制方式&#xff0c;并阐述如何在销售活动中加以应用&#xff0c;以提升销售效果。 一、反向控制&#xff1a;以客户为中心&#xff0c;引导客户需求 反向控…

如何使用grafana 下JSON API访问展示接口数据

一.新增connection 点击左侧菜单栏&#xff0c;选择Add new connection 下载安装即可。 二. 增加对应url和参数 1. 添加新的数据源 2. 配置对应url 3.新建仪表盘和添加接口url和参数等

【Android】源码解析 Activity 的构成

本文是基于 Android 14 的源码解析。 当我们写 Activity 时会调用 setContentView() 方法来加载布局。现在来看看 setContentView() 方法是怎么实现的&#xff0c;源码如下所示&#xff1a; 路径&#xff1a;/frameworks/base/core/java/android/app/Activity.javapublic void…

2-web端管理界面使用rabbitmq

Web管理界面可以直接操作RabbitMQ&#xff0c;下面进行操作并记录步骤 1、添加交换器&#xff1a; Add a new exchange 中&#xff0c;Name是交换器名称&#xff0c;Type是交换器类型&#xff0c;有direce、fanout、heders、topic 4种。 这里先只填Name和选个类型&#xff0c;…

基于OpenCV的图形分析辨认05(补充)

目录 一、前言 二、实验内容 三、实验过程 一、前言 编程语言&#xff1a;Python&#xff0c;编程软件&#xff1a;vscode或pycharm&#xff0c;必备的第三方库&#xff1a;OpenCV&#xff0c;numpy&#xff0c;matplotlib&#xff0c;os等等。 关于OpenCV&#xff0c;num…

数据库系列之:什么是 SAP HANA?

数据库系列之&#xff1a;什么是 SAP HANA&#xff1f; 一、什么是 SAP HANA&#xff1f;二、什么是内存数据库&#xff1f;三、SAP HANA 有多快&#xff1f;四、SAP HANA 的十大优势五、SAP HANA 架构六、数据库设计七、数据库管理八、应用开发九、高级分析十、数据虚拟化 一、…

QT----在编译器里能够连接云端数据库,使用windeployqt打包后运行程序,链接不上云端mysql数据库

问题描述 在编译器里能够连接云端数据库&#xff0c;使用windeployqt打包后运行程序&#xff0c;链接不上云端mysql数据库&#xff0c;困扰了好几天 打包发布手机上的app还是无法连接 问题解决 打包的时候没有将这个文件放入&#xff0c;我们复制放到exe的目录即可

彻底搞清楚CUDA和cuDNN版本问题

彻底搞清楚CUDA和cuDNN版本问题 1. 缘起 我的机器上以下三条指令输出的版本不相同。 nvcc -V # 这个输出11.7 nvidia-smi # 右上角显示12.3 import torch; torch.version.cuda # 这个输出12.1我想以此为契机&#xff0c;彻底搞清楚CUDA、cuDNN和torch之间的关系。 环境&a…

Ubuntu20.04安装并配置vscode

Ubuntu20.04安装并配置vscode vscode安装miniconda安装创建虚拟python3.8环境pytorch和匹配的cuda安装 vscode安装 VSCode可以通过 Snapcraft 商店或者微软源仓库中的一个 deb 软件包来安装。 我们这里选用安装VSCode snap版&#xff0c;打开你的终端(CtrlAltT)并且运行下面的…