如何在极狐GitLab 使用Docker 仓库功能

本文作者:徐晓伟

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

本文主要讲述了如何在[极狐GitLab]使用Docker 仓库功能。

说明

  1. 示例项目:https://framagit.org/xuxiaowei-com-cn/docker
  2. 分支:login/build/push/save

配置

执行流水线异常,无法解析域名地址

image.png

导出 helm gitlab 配置

# 将已配置的值导出到文件中
helm -n gitlab-test get values my-gitlab > my-gitlab.yaml

查看 极狐GitLab runner 默认配置

# 此处为节选,不同版本可能会存在差异,请以 https://artifacthub.io/packages/helm/gitlab/gitlab?modal=values 中的配置为准
gitlab-runner:runners:config: |[[runners]][runners.kubernetes]image = "ubuntu:22.04"{{- if .Values.global.minio.enabled }}[runners.cache]Type = "s3"Path = "gitlab-runner"Shared = true[runners.cache.s3]ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}BucketName = "runner-cache"BucketLocation = "us-east-1"Insecure = false{{ end }}

修改配置如下

gitlab-runner:
runners:config: |[[runners]][runners.kubernetes]image = "ubuntu:22.04"[[runners.kubernetes.host_aliases]]ip = "172.25.25.32"hostnames = [ "registry.test.helm.xuxiaowei.cn" ]{{- if .Values.global.minio.enabled }}[runners.cache]Type = "s3"Path = "gitlab-runner"Shared = true[runners.cache.s3]ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}BucketName = "runner-cache"BucketLocation = "us-east-1"Insecure = false{{ end }}

更新配置

helm upgrade -n gitlab-test --install my-gitlab gitlab/gitlab --timeout 600s -f my-gitlab.yaml --version 7.7.0

等待所有旧 pod 删除完成,新 pod 正常运行时,重试流水线,即可正确解析到 registry(Docker 仓库)的 IP

域名证书验证失败

image.png

image.png

下载证书

# 下载证书
openssl s_client -showcerts -connect registry.test.helm.xuxiaowei.cn:443 -servername registry.test.helm.xuxiaowei.cn < /dev/null 2>/dev/null | openssl x509 -outform PEM > registry.test.helm.xuxiaowei.cn.crt
openssl s_client -showcerts -connect gitlab.test.helm.xuxiaowei.cn:443   -servername gitlab.test.helm.xuxiaowei.cn   < /dev/null 2>/dev/null | openssl x509 -outform PEM > gitlab.test.helm.xuxiaowei.cn.crt

将证书导入到 k8s 中

# -n=gitlab-test:指定命名空间
# create configmap registry-certs:创建 ConfigMap 名称是 registry-certs
# --from-file=registry.test.helm.xuxiaowei.cn.crt=registry.test.helm.xuxiaowei.cn.crt:配置来自文件,文件名 registry.test.helm.xuxiaowei.cn.crt,放入 ConfigMap 中的键也是 registry.test.helm.xuxiaowei.cn.crt
kubectl -n=gitlab-test create configmap registry-certs --from-file=registry.test.helm.xuxiaowei.cn.crt=registry.test.helm.xuxiaowei.cn.crt
kubectl -n=gitlab-test create configmap gitlab-certs   --from-file=gitlab.test.helm.xuxiaowei.cn.crt=gitlab.test.helm.xuxiaowei.cn.crt# 查看
# kubectl -n=gitlab-test get configmap registry-certs -o yaml
# kubectl -n=gitlab-test get configmap gitlab-certs -o yaml

导出 helm 极狐GitLab 配置

helm -n gitlab-test get values my-gitlab > my-gitlab.yaml

查看 极狐GitLab runner 默认配置

# 此处为节选,不同版本可能会存在差异,请以 https://artifacthub.io/packages/helm/gitlab/gitlab?modal=values 中的配置为准
gitlab-runner:runners:config: |[[runners]][runners.kubernetes]image = "ubuntu:22.04"{{- if .Values.global.minio.enabled }}[runners.cache]Type = "s3"Path = "gitlab-runner"Shared = true[runners.cache.s3]ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}BucketName = "runner-cache"BucketLocation = "us-east-1"Insecure = false{{ end }}

修改 helm gitlab 配置

  • 域名证书位置
异常信息域名域名证书位置作用
gitlab-runner-job-15.pngregistry.test.helm.xuxiaowei.cn/etc/docker/certs.d/registry.test.helm.xuxiaowei.cn/ca.crt用于 gitlab docker 登录地址
gitlab-runner-job-16.pnggitlab.test.helm.xuxiaowei.cn/etc/ssl/certs/gitlab.test.helm.xuxiaowei.cn/gitlab.test.helm.xuxiaowei.cn.crt用于 gitlab docker 登录凭证验证
gitlab-runner:runners:config: |[[runners]][runners.kubernetes]image = "ubuntu:22.04"# https://docs.gitlab.cn/runner/executors/kubernetes.html#configmap-%E5%8D%B7# https://docs.gitlab.cn/runner/executors/kubernetes.html#%E9%85%8D%E7%BD%AE%E5%8D%B7%E7%B1%BB%E5%9E%8B# https://kubernetes.io/zh-cn/docs/concepts/storage/volumes/# https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/[[runners.kubernetes.volumes.config_map]]name = "registry-certs"mount_path = "/etc/docker/certs.d/registry.test.helm.xuxiaowei.cn/ca.crt"sub_path = "ca.crt"[runners.kubernetes.volumes.config_map.items]"registry.test.helm.xuxiaowei.cn.crt" = "ca.crt"[[runners.kubernetes.volumes.config_map]]name = "gitlab-certs"mount_path = "/etc/ssl/certs/gitlab.test.helm.xuxiaowei.cn/gitlab.test.helm.xuxiaowei.cn.crt"sub_path = "gitlab.test.helm.xuxiaowei.cn.crt"[runners.kubernetes.volumes.config_map.items]"gitlab.test.helm.xuxiaowei.cn.crt" = "gitlab.test.helm.xuxiaowei.cn.crt"{{- if .Values.global.minio.enabled }}[runners.cache]Type = "s3"Path = "gitlab-runner"Shared = true[runners.cache.s3]ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}BucketName = "runner-cache"BucketLocation = "us-east-1"Insecure = false{{ end }}

更新 helm GitLab 配置

helm upgrade -n gitlab-test --install my-gitlab gitlab/gitlab -f my-gitlab.yaml --timeout 600s --version 7.7.0

等待所有旧 pod 删除完成,新 pod 正常运行时,重试流水线,docker 即可正常 登录/推送镜像

image.png

image.png

image.png

号外号外!
极狐GitLab 正在推出DevSecOps 成熟度测评!链接:https://gitlab.cn/devsecops-assessment/ 测评非常全面并提供了可靠建议,即使不付费买产品,对自己想要落地 DevSecOps 的用户具有很高的参考意义!快来动手试试吧!

DevSecOps 成熟度评估.png

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

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

相关文章

月亮和Pandas - Wes Mckinney的传奇故事

正如死亡和税收不可避免&#xff0c;Pandas对量化人而言&#xff0c;也具有同样的地位 – 每个人都不可避免地要与之打交道。而Wes Mckinney正是Pandas的创建者。Pandas是有史以来&#xff0c;最成功的Python库之一&#xff0c;以一已之力&#xff0c;开拓了Python的生存空间。…

Python结合spy++

导入必要的库 import win32con from win32 import win32gui from win32 import win32clipboard as w import pyautogui import sys1.获取窗口全部属性 def show_window_attr(hwnd):"""显示窗口的属性:param hwnd: 窗口句柄&#xff08;十进制&#xff09;:ret…

国内如何使用Suno-v3-AI音乐生成大模型?SparkAi创作系统搭建部署教程分享

一、文章前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持…

亚信安慧AntDB-T数据库重分布的实现原理

摘要&#xff1a; 亚信安慧AntDB-T是一款通用企业级、高可用、高性能的原生分布式关系型数据库&#xff0c;具有多种分片方式。在数据库的使用过程中&#xff0c;随着数据的变更和增长&#xff0c;需要重新修改表的分片方式。 AntDB-T数据库支持重分布命令&#xff0c;在内核…

使用docker制作Android镜像(实操可用)

一、安装包准备 1、准备jdk 下载地址&#xff1a;Java Downloads | Oracle 注意版本&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 我下载的jdk17&#xff0c;不然后面构建镜像报错&#xff0c;就是版本不对 2、准备安装的工具包 ttps://dev…

迭代器模式【行为模式C++】

1.简介 迭代器模式是一种行为设计模式&#xff0c; 让你能在不暴露集合&#xff08;聚合对象&#xff09;底层表现形式 &#xff08;列表、 栈和树等&#xff09; 的情况下遍历集合&#xff08;聚合对象&#xff09;中所有的元素。 迭代器的意义就是将这个行为抽离封装起来&a…

C语言中的数据结构--链表的应用1(2)

前言 上一节我们学习了链表的概念以及链表的实现&#xff0c;那么本节我们就来了解一下链表具体有什么用&#xff0c;可以解决哪些实质性的问题&#xff0c;我们借用习题来加强对链表的理解&#xff0c;那么废话不多说&#xff0c;我们正式进入今天的学习 单链表相关经典算法O…

【CSS】利用Vue实现数字翻滚动画效果

利用Vue实现数字翻滚动画效果 在很多数据可视化的需求中&#xff0c;动态呈现数据变化是一个常见且具有较强视觉冲击力的手段&#xff0c;尤其是数字的实时变化。今天我们将探讨如何使用 Vue.js 和 CSS3 来实现数字的翻滚动画效果&#xff0c;即模拟真实物体在Z轴上翻动的效果…

WPS 365开启企业一站式AI办公;联发科推出生成式AI服务平台;马斯克:AI 明年或超越人类智力

WPS 365 升级一站式 AI 办公 昨日&#xff0c;金山办公生产力大会举行&#xff0c;现场发布了面向组织和企业的办公新质生产力平台 WPS 365&#xff0c;其包含升级的 WPS Office、最新发布的 WPS AI 企业版和 WPS 协作。 WPS 365 将能覆盖一个组织日常办公基本需求&#xff0c…

Java快速入门系列-6(数据库编程与JDBC)

第六章:数据库编程与JDBC 6.1 SQL基础6.1.1 SQL基本结构与命令6.1.2 SQL高级查询6.1.3 SQL子查询与联接6.2 JDBC原理与使用6.2.1 JDBC驱动程序与URL6.2.2 Statement、PreparedStatement与CallableStatement6.2.3 数据库事务处理6.3 数据库连接池6.4 事务管理6.1 SQL基础 SQL(…

2. Spring的创建和Bean的存取

经过前面的学习我们已经大体明白了 IOC 思想以及它的实现方式 DI &#xff0c;本节要讲的是如何Spring框架实现实现DI。 本节目标&#xff1a; Spring(Core) 项目创建将对象存储到 Spring 中将对象(bean)从 Spring 中取出 1. 创建 Spring 项目 与开篇演示的 Spring Boot 项目不…

TiDB MVCC 版本堆积相关原理及排查手段

导读 本文介绍了 TiDB 中 MVCC&#xff08;多版本并发控制&#xff09;机制的原理和相关排查手段。 TiDB 使用 MVCC 机制实现事务&#xff0c;在写入新数据时不会直接替换旧数据&#xff0c;而是保留旧数据的同时以时间戳区分版本。 当历史版本堆积过多时&#xff0c;会导致读…

在Linux终端查找指定类型的文件并统计数量

下面举例说明&#xff1a; find /path/to/directory -type f -exec file {} \; | grep "MIDI"它的作用是在指定的目录&#xff08;/path/to/directory&#xff09;中搜索所有的文件&#xff08;-type f&#xff09;&#xff0c;然后使用file命令检查每个文件的类型&a…

【C++学习】C++11新特性(第二节)—— 右值引用与移动语义超详解

文章目录 文章简介二.右值引用1.什么是左值&#xff0c;什么是右值&#xff1f;什么是左值引用&#xff0c;什么是右值引用&#xff1f;2.左值引用与右值引用比较 三.右值引用使用场景和意义1.左值引用的使用场景&#xff1a;2.左值引用的短板&#xff1a;3.右值引用与移动构造…

Axure RP中的相关概念及高保真原型构建方法

1 Axure RP中概念介绍 对于构建高保真原型来说&#xff0c;需要知道事件&#xff08;Event&#xff09;、Case、Action等概念。Axure RP中给出这些概念&#xff0c;是为了方便原型的构建&#xff0c;尤其是高保真原型的构建。 事件&#xff08;Event&#xff09;是附着于控件…

PHP自助建站系统,小白也能自己搭建网站

无需懂代码&#xff0c;用 自助建站 做企业官网就像做PPT一样简单&#xff0c;您可以亲自操刀做想要的效果&#xff01; 自助建站是一款简单、快捷、高效的工具&#xff0c;可以帮助您制作响应式网站。我们的自助建站系统&#xff0c;将传统的编码工作转化为直观的拖拽操作和文…

buuctf之jarvisoj_level2

一、查看属性 首先还是必要的查看属性环节&#xff1a; 可以知道该文件是一个x86架构下的32位小段ELF程序&#xff0c;开启了栈不可执行&#xff08;NX&#xff09;保护&#xff0c;ret2shellcode是不行的 简单执行可以看到有一个简单的输入后输出hello world 二、静态分析 …

程序员学CFA——数量分析方法(二)

数量分析方法&#xff08;二&#xff09; 数理统计基础统计学的基本概念描述性统计学与推断性统计学总体与样本四种度量尺度名义尺度排序尺度区间尺度比率尺度 数据的展现频率分布直方图与频数多边形 中心趋势均值算术平均几何平均调和平均数加权平均 中位数众数 离散程度绝对离…

Vue2(十五):replace属性、编程式路由导航、缓存路由组件、路由组件独有钩子、路由守卫、history与hash

一、router-link的replace属性 1、作用&#xff1a;控制路由跳转时操作浏览器历史记录的模式 2、浏览器的历史记录有两种写入方式&#xff1a;分别为push和replace&#xff0c;push是追加历史记录&#xff0c;replace是替换当前记录。路由跳转时候默认为push 3、如何开启repla…

【40分钟速成智能风控8】智能反欺诈模型2

目录 ​编辑 智能反欺诈模型 图计算 智能信用风险模型 专家模型 逻辑回归 决策树 集成树 深度神经网络 循环神经网络 智能反欺诈模型 图计算 图计算&#xff08;Graph Computing&#xff09;是以关联图谱为基础引申出来的一类算法的统称&#xff0c;主要解决了图数…