极狐GitLab CICD Catalog Beta 功能介绍

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。

GitLab 中文版学习资料

  • 驭码CodeRider 官网:https://coderider.gitlab.cn/
  • GitLab 中文版官网:https://gitlab.cn
  • GitLab 中文文档:https://docs.gitlab.cn
  • GitLab 中文下载安装:https://gitlab.cn/install

轻松发现、重用和贡献CI/CD组件,增强创建流水线配置时的协作和效率。

DevSecOps 的核心在于速度——实现软件开发的快速进展。要在 DevSecOps 中取得成功,组织需要一个运行良好的 CI/CD 流水线,团队可以利用它来自动化其开发工作流程。

然而,使用 YAML 创建流水线配置可能会非常复杂和具有挑战性,因为 YAML 不是一种编程语言,开发人员可能会发现自己每次尝试创建新配置时都在重新发明轮子,因为他们看不到现有配置和其他人可能已经完成的工作,导致效率低下。

极狐GitLab 16.7 引入了CI/CD 目录(Beta版),旨在通过解决开发人员在创建流水线配置时遇到的三个主要问题来提高开发效率:

  • 可发现性:是否已经有人为我的任务创建了配置,我该在哪里找到它?
  • 可重用性:一旦我找到合适的流水线,我如何有效地使用它?
  • 贡献的便利性:我创建了一个有用的配置,我如何轻松地与极狐GitLab 社区分享?

什么是极狐GitLab CI/CD目录?

CI/CD 目录作为一个集中的枢纽,供开发人员和组织分享预先发布的 CI/CD 组件,并发现其他人可能已经开发的可重用的配置。用户发布的每个组件都将成为一个公共目录的一部分,所有用户都可以访问,无论他们的组织或项目如何。

这种方法促进了跨组织的协作,允许整个极狐GitLab社区从可用的 CI 组件中受益。这是在极狐GitLab用户之间共享知识的重要一步,使开发人员能够利用平台的专业知识。

轻松创建和发布组件

除了重用组件之外,开发人员还可以通过创建自己的组件并将其发布到目录中来为极狐GitLab CI/CD 社区作出贡献。这确保了其他人可以从他们的专业知识中受益,并促进了平台上的合作。

如何发现和使用组件

1. 打开CI/CD组件目录

单击“搜索或转到…”

在这里插入图片描述

通过导航到“探索 > CI/CD目录”或访问此目录页面打开目录。

在这里插入图片描述

在目录中,您将找到一个 CI/CD 组件项目列表,里面的组件由您的团队、组织或更广泛的极狐GitLab社区贡献。

2. 浏览组件

浏览CI/CD目录中的组件列表,或使用搜索栏查找与特定主题相关的组件。

每个组件项目包含一个或多个组件。打开组件项目会看到对应的文档,提供有关所有可用组件的详细信息。这包括如何使用每个组件以及了解需要输入的参数等信息。

3. 将所选组件包含在您的.gitlab-ci.yml中

现在您已经浏览了目录并选择了所需的CI/CD组件,请将它们集成到项目的CI/CD流水线中。

按照以下步骤更新您的.gitlab-ci.yml文件:

  1. 打开项目中的.gitlab-ci.yml文件进行编辑。
  2. 使用 include 关键字将所选组件添加到您的CI配置中。
  3. 确保组件YAML文件的路径正确,并为每个组件指定合适的版本。
  4. 如果组件有输入参数,请查看组件文档以了解需要哪些输入,并将其添加到您的CI配置中。
  5. 保存并提交对.gitlab-ci.yml文件的更改。

以下是演示如何包含几个组件并使用它们的YAML代码示例。

在这里插入图片描述

如何创建和发布组件

您是否创建了一个有价值的配置,并希望与您的团队或极狐GitLab 社区分享和贡献?以下是实现这一目标的六个步骤:

第1步:创建新项目并将其设置为组件项目

  1. 在左侧边栏中,选择搜索或转到并找到您的项目。
  2. 在左侧边栏中,选择设置 > 通用
  3. 展开可见性、项目功能、权限
  4. 向下滚动至CI/CD目录资源并选择将项目设置为CI/CD目录资源。
  5. 确保填写了项目描述;此信息将在目录中展示,为用户提供有关组件目的和功能的讲解。
  6. 在仓库的根目录中创建一个.gitlab-ci.yml文件。您将需要此文件来测试和发布组件,如下文所述的步骤4和5。注意:对于包含组件的任何项目,此步骤只需要执行一次。

第2步:创建组件

  1. 在项目的根目录中创建一个/templates文件夹。
  2. 在该templates目录中,为每个组件创建一个YAML模板文件(以.yml结尾)。
  3. 如果组件需要输入参数,模板可以选择使用spec关键字包含输入参数的描述,并定义作业,其中可能包括使用插值格式$[[ inputs.input-name ]]引用值的定义。请确保在规范标题和作业定义之间使用三个破折号。

以下是一个获取输入参数的deploy.yml模板示例:

在这里插入图片描述
在此模板中,我们定义了两个输入参数,stage和environment,两者都有默认值。在content部分,定义了一个作业,它插入了这些输入参数。

第3步:创建组件文档

在项目的根目录中创建一个README.md文件,包含有关组件的信息。解释组件的功能,详细说明输入参数,并提供说明性示例。这可以确保组件使用者清楚地了解如何使用它们。

以下是组件文档的示例:

在这里插入图片描述

更多信息请参阅我们过往的文章极狐GitLab CI/CD Component & Catalog 功能揭秘。

第4步:为组件添加测试(推荐)

开发组件遵循标准的软件开发周期,包括构建、测试和部署等阶段。强烈建议在发布之前对组件进行测试。查看此示例测试,该测试查询极狐GitLab REST API以检查组件作业是否已添加到流水线中。请随意使用,并考虑添加更多测试以确保您的组件按预期工作。

在这里插入图片描述将所有测试作业包含在 Catalog 项目的.gitlab-ci.yml文件中。

第5步:准备发布您的CI/CD配置

  1. 在组件项目的.gitlab-ci.yml文件中使用Release关键字创建一个发布作业。参见作业示例:

在这里插入图片描述
2. 注意:不要从极狐GitLab UI中“创建发布”,因为这很快就将不再支持组件目录等发布了。

在这里插入图片描述
3. 因此,这是我们建议您的作业如何查看的方式:

在这里插入图片描述

  1. 要手动发布组件,请按照以下方式添加手动规则,以便在触发流水线时,某人需要手动运行发布作业。

在这里插入图片描述
以下是带有when:manual规则的发布作业:

在这里插入图片描述

第6步:发布您的组件

一旦您满意您的组件,并且所有测试都已成功通过,现在是发布新版本的时候了,通过创建一个git标签,这样它们就会在CI/CD目录中可用。

  1. 使用推荐的语义版本格式“主版本.次版本.修订版本”创建一个Git标签。
  2. 您可以通过导航到代码 -> 标签 -> 新标签来通过UI创建标签,或者通过使用git tag命令通过CLI创建标签。
  3. 创建标签将触发一个流水线,如果所有测试都成功通过,将运行发布作业。然后,组件项目将被以标签中定义的版本发布,并将显示在目录中。

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

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

相关文章

视觉SLAM中的数学基础01 -3D空间的位置表示

在视觉SLAM中,理解和表示3D空间中的位置是至关重要的。这涉及到多种数学概念和工具,如坐标系、向量、矩阵、旋转和平移等。这些数学基础构成了视觉SLAM算法的核心。以下是3D空间位置表示的基本数学概念。 这是一个表示世界坐标系和相机坐标系之间关系的3…

JNPF快速开发平台赋能数字办公方式转变

随着信息技术的飞速发展,数字化转型已成为各行各业提升效率、优化流程的重要手段。JNPF快速开发平台正是在这样的背景下应运而生,它通过简化开发流程,使得非技术人员也能参与到应用的构建中来,从而加速了数字办公方式的转变。 数字…

畅捷通基于Flink的实时数仓落地实践

摘要:本文整理自畅捷通总架构师、阿里云MVP专家郑芸老师在 Flink Forward Asia 2023 中闭门会上的分享。内容主要为以下四部分: 业务背景数仓建设具体案例未来展望 一、业务背景 畅捷通是用友旗下成员企业,一直持续专注于小微企业的数字化转…

4K YouTube to MP3 Pro:跨平台音频提取与转换的好用工具

4K YouTube to MP3 Pro是一款专为追求高品质音频体验的用户设计的跨平台(支持Mac与Windows)音频提取与转换软件。该软件以其卓越的音频提取能力和简便的操作流程,在同类产品中脱颖而出,成为众多用户的心头好。 功能强大&#xff…

AI革新3D建模:Stable Fast 3D工具的高效应用——图片快速生成3D模型

在3D建模领域,AI技术的介入正引发一场革命。Stable Diffusion(SD)的最新应用——Stable Fast 3D,为快速生成3D模型提供了一个强大的解决方案。以下是对这项技术及其应用的详细介绍和优化建议。 一、工具概览 Stable Fast 3D模型:这是一个基于AI的3D模型生成工具,可通过H…

社交电商系统:技术融合与商业创新

一、引言 随着社交平台的普及和电商系统的不断发展,社交电商系统作为一种新型的商业模式应运而生。这种模式结合了传统电子商务和社交媒体的优势,为消费者和商家提供了一个全新的购物和销售环境。本文将深入探讨社交电商系统的技术架构、主要模式、优势以…

每日学术速递8.8

1.Rethinking temporal self-similarity for repetitive action counting 标题:重新思考重复动作计数的时间自相似性 作者: Yanan Luo, Jinhui Yi, Yazan Abu Farha, Moritz Wolter, Juergen Gall 文章链接:https://arxiv.org/abs/2407.09…

LVS(Linux Virtual Server)详解

LVS(Linux Virtual Server)是一个用于负载均衡的开源软件项目,旨在通过集群技术实现高性能、高可用的服务器系统。它运行在Linux操作系统上,并且可以利用内核级的资源来提高性能和稳定性。 思维导图 LVS的工作原理 LVS主要基于Ne…

【树的遍历】

题目 代码 #include<bits/stdc.h> using namespace std;const int N 40;int in[N], pos[N]; //中序、后序 int idx[N]; //中序的值->索引 unordered_map<int, int> l, r; //根节点的左、右树根节点 int n; int build(int il, int ir, int pl, int pr) {int ro…

vite + tsc 打包报TS类型错误问题及解决方法

当新建vue3项目&#xff0c;package.json文件会自动添加一些配置选项&#xff0c; 这些选项基本没有问题&#xff0c;但是在实际操作过程中&#xff0c;列举一个目前我遇到的一个问题&#xff1a;打包后报了一堆TS类型错误&#xff0c;怎么消除这些错误&#xff1f; 报错信息&a…

ubuntu20从docker安装到制作自己的镜像使用记录

ubuntu20从docker安装到制作自己的镜像使用记录 第一章&#xff1a;配置环境 1.ubuntu20 2.docker镜像18.04 3.参考&#xff1a;https://www.runoob.com/docker/docker-tutorial.html 第二章&#xff1a;安装docker 一、安装docker 参考1&#xff1a;Ubuntu安装docker并运…

Go语言编程大全,web微服务数据库十大专题精讲

本课程主要从数据结构、Go Module 依赖管理、IO编程、数据库编程、消息队列、加密技术与网络安全、爬虫与反爬虫、web开发、微服务通用技术、Kitex框架等方面讲解~ 链接&#xff1a;https://pan.quark.cn/s/d65337a0e60d

视频循环存储的实现

目录 1. 三方工具 2. 视频存储的实现 2.1 分段存储 - 比如每15分钟 2.2 对齐到15分钟整边界 2.3 循环存储的实现 video_space_daemon.sh 3.封装 3.1 主执行程序&#xff0c;修订版 3.2 创建服务 3.3 service关联的执行脚本文件 4.额外的工作 附录A: ffmpeg视频存储…

矩阵算法的介绍和实现

一. 介绍 首先我们要清楚矩阵是什么&#xff1a;矩阵是一个按照长方阵列排列的复数或实数集合 1> 定义 定义&#xff1a;mn矩阵为mn个数排成的m行n列的表格&#xff0c;当mn时&#xff0c;矩阵A称为n阶方阵或者n阶矩阵。零矩阵&#xff1a;矩阵所有元素都为0。同型矩阵&a…

一个简单的录音软件(利用QT录音,ffmpeg进行音频重采样,fdk-aac编码)

录音软件是一种非常有用的工具&#xff0c;可以帮助我们记录和存储语音信息。在本文中&#xff0c;我们将介绍一个简单的录音软件&#xff0c;该软件利用QT进行录音&#xff0c;使用ffmpeg进行音频重采样&#xff0c;并使用fdk-aac编码。 一、 环境介绍 1、QT版本: QT5.…

SuccBI+低代码文档中心 — 可视化分析(仪表板)(上)

有关仪表板的设计器&#xff1a; 查询设置 由于仪表板的设计器是所见即所得的&#xff0c;可以将当前制作的内容和数据的查询结果实时展示在界面中&#xff0c;当引入到仪表板的模型数据量较大时&#xff0c;为了提高设计器界面的查询性能&#xff0c;提供了以下两种方法&…

Azure openai connection with javascript

题意&#xff1a;使用JavaScript与Azure OpenAI进行连接 问题背景&#xff1a; I have created my chatbot with javascript and used open ai. I need to change it to azure open ai but can not find the connection details for javascript. This is how i connect with p…

基于C#调用文心一言大模型制作桌面软件(可改装接口)

目录 开发前的准备账号注册应用创建应用接入开始开发创建项目设计界面使用 AK,SK 生成鉴权签名窗体代码百度智能云千帆大模型平台什么是百度智能云千帆大模型平台模型更新记录开发前的准备 账号注册 访问百度智能云平台,通过百度账号登录或手机号验证。 点此跳转百度智能云平…

数值分析【4】

目录 ​编辑第六章 数值积分微分 龙贝格 高斯求积 查表&#xff1f; 插值求导 两点 ​编辑 三点​编辑 第七章 ode 龙哥库塔 线性多步法 第八章 eig 幂法&#xff1a;v-》Av-》AAv-》……​编辑 反幂法 每次成得是A逆&#xff0c;这样得到摸最小的特征值​编辑 Q…

ubuntu大模型GPU版本安装及部署

版本查看&#xff1a; nvidia-smi 离线下载地址&#xff1a; 下载 NVIDIA 官方驱动 | NVIDIA (选型) Linux x64 (AMD64/EM64T) Display Driver | 535.146.02 | Linux 64-bit | NVIDIA(选型结果) 下载 NVIDIA 官方驱动 | NVIDIA apt-get update 禁用nouveau(nouveau是通用的…