当前位置: 首页 > news >正文

如何将 CICD 模版重构为 CICD component?

极狐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

关联阅读

  • 如何使用极狐GitLab CI/CD Component & Catalog?【上】
  • 如何使用极狐GitLab CI/CD Component & Catalog?【下】

CI/CD 是极狐GitLab 的重要功能,内置于极狐GitLab,这些年极狐GitLab 在 CI/CD 上更新了很多功能,最近更新的一个重大功能是 CI/CD 组件。CI/CD组件是CI/CD模板的下一代,提升了流水线的创建和可维护性。下面来了解如何从模板过渡到组件。

极狐GitLab 最近推出了 CI/CD 组件作为传统 CI/CD 模板的下一代,以及构建 CI/CD 流水线的一种新方法。CI/CD 组件提供可重用的流水线配置,可以使用输入参数进行定制。

尽管极狐GitLab 将继续支持模板,但它们存在一些缺点,这些缺点通过引入组件得到了解决。因此,我们强烈建议将现有模板重构为CI/CD组件。

本文将指导您将当前的极狐GitLab CI/CD 模板转换为可重用的 CI/CD 组件的步骤。在此之前,熟悉如何创建 CI/CD 组件是一个前提条件,您可以在这篇博客文章中了解更多:介绍极狐GitLab CI/CD目录 Beta 版。

如何将模板转换为组件

以下是将 CI/CD 模板转换为 CI/CD 组件的步骤:

  1. 如果没有组件项目,请创建一个组件项目。
  2. 将现有模板复制到组件项目的“templates”目录中。
  3. 对于每个模板,请审查其中列出的作业,并评估您是否更喜欢将它们分布在不同组件中,还是保留其中的一些或全部在同一组件中。虽然可以在单个组件中包含多个作业,但建议创建执行最小任务的组件。这种方法增强了重用性和灵活性。
  4. 在配置文件的顶部使用 spec关键字为输入参数和元数据创建一个新的部分。
  5. 将任何自定义 CI/CD 变量和任何其他硬编码的值替换为输入以最大化消费的灵活性。考虑将阶段、镜像、作业名称/作业前缀等元素参数化。
  6. 遵循组件的最佳实践。
  7. 改进配置,例如启用请求合并流水线或使其更高效。

这是现有模板中作业的代码示例:

在这里插入图片描述
这是重构后的组件代码:

在这里插入图片描述

一旦您的组件准备就绪,您可以将它们发布到CI/CD目录,以便其他人能够找到并使用它们。

相关文章:

如何将 CICD 模版重构为 CICD component?

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

数学建模——评价决策类算法(层次分析法、Topsis)

一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重,这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…...

KEEPALIVED 全csdn最详细----理论+实验(干货扎实,包教会的)

环境准备 主机名IP虚拟IP(VIP)功能ka1172.25.254.10172.25.254.100keepalived服务ka2172.25.254.20172.25.254.100keepalived服务realserver1172.25.254.110web服务realserver2172.25.254.120web服务 注意一定要关闭selinux,和防火墙,不然在…...

微信云开发云存储全部下载

一、安装 首先按照这个按照好依赖 安装 | 云开发 CloudBase - 一站式后端云服务 npm i -g cloudbase/cli 二、登录 tcb login 下载 首先在你要下载到的本地文件内创建一个名为:cloudbaserc.json 的json文件。 填入你的id {"envId":"你的云开发环…...

vos3000怎样对接voip落地语音网关呢?卡机和O口网关的配置技巧有哪些?

很多朋友没有接触过vos系统的使用,那么vos3000如何对接voip落地网关呢?卡机的配置技巧有哪些? VOS3000系统是针对中小等规模VoIP运营业务提供的支撑系统。 语音网关 落地网关分O口网关,S口网关,和全网通GOIP语音网关。…...

MySQL数据库专栏(四)数据库操作

1、创建数据库 create database if not exists [数据库名称] character set [字符集] COLLATE [排序规则]; 例如:create database if not exists db_demo character set utf8mb4 COLLATE utf8mb4_general_ci; if not exists:判断数据库是否存在&#x…...

Python编写Word文档

目录 0. 安装依赖 1. 创建word文档 2. 添加标题、居中、字体16大小 3. 添加标题一 4. 添加一段话并设置字体颜色 封装函数 5. 换页 6. 插入表格 0. 安装依赖 python-docx1.1.2 1. 创建word文档 from docx import Documentdoc Document() 2. 添加标题、居中、字体1…...

聚星文社AI工具

聚星文社AI工具是一款基于人工智能技术的文学创作辅助工具。聚星文社AI工具https://docs.qq.com/doc/DRU1vcUZlanBKR2xy 它能够帮助作者生成文字内容、自动校对、提供创作灵感等功能。 通过聚星文社AI工具, 作者可以更快速地完成文学作品的创作,提高创…...

思科OSPF动态路由配置8

#路由协议实现# #任务八OSPF动态路由配置8# 开放式最短路径优先(Open Shortest Path First,OSPF)协议是目前网络中应用最广泛的动态路由协议之一。它也属于内部网关路由协议,能够适应各种规模的网络环境,是典型的链路状态路由协…...

C++(10)类语法分析(1)

C(10)之类语法分析(1) Author: Once Day Date: 2024年8月17日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 …...

python语言day6 os random datetime .ini文件

os: 获取运行当前py文件的绝对路径: abspath中添加路径,会直接和绝对路径拼接。 folder_path os.path.abspath("") print(folder_path) 路径拼接: mac系统路径:file/TranslucentTB win系统路径:…...

powershell 终端 执行 pnpm -v报错

1.问题描述: 明明全局已安装 pnpm ,但在vscode默认终端 powershell 执行 pnpm -v 却报错: 2.问题根因: 原因是 PowerShell 执行策略问题。 3.解决方案: 以管理员身份运行 PowerShell 查看 PowerShell 的执行策略…...

最新保姆级Anaconda和Pycharm安装激活过程(2024最新版本)

Anaconda和Pycharm安装过程 Anaconda安装过程第一步第二步第三步第四步第五步第六步第七步第八步第九步Pycharm 安装过程:第一步第二步第三步第四步第五步第六步---激活过程第七步第八步第九步第十步第十一步第十二步第十三步第十四步Anaconda和Pycharm软件百度网盘…...

虚幻5|布料模拟

打开骨骼网格体 1.Mass Prooerties 如果给角色施加风力,密度越大越难飘,相反密度越小飘动浮度也小 2.Material Proerties Edge Stiffness,对衣服的折痕处的调整,其值越大就越能维持原本的折痕,相反折痕就会变小,但…...

K8S 存储

K8S(Kubernetes)的存储是容器化应用程序中非常重要的一部分,它帮助用户在不同场景下管理和存储数据。K8S提供了多种存储方式,以满足不同的存储需求。以下是对K8S存储的详细解析: 一、K8S存储类型 K8S的存储类型主要分…...

Kafka Manager支持jdk1.8的部署和使用

一、Kafka Manager简介 Kafka Manager 可能是现在能找到的最好的可视化的Kafka管理工具, 感谢Yahoo的开源; 使用Kafka Manager, 基本上之前需要运行Kafka相应命令行工具的工作现在都可以可视化的完成:创建Topic, 调整消息保存时长, Partition数量等等配置;管理Topic, 包括Reas…...

vmware和virtualbox优缺点

vmware和virtualbox优缺点 ,都可以搭建本地虚拟机,他们有什么优缺点,两个都用过 ,本次打算直接用virtualbox搭建本地虚拟机,比较轻量级 VirtualBox的优点: 免费使用:VirtualBox是一…...

[C++进阶]二叉树进阶的一些面试题(一)

首先我们先回忆我们过去学的二叉树和最近学的二叉搜索树,来完成下面的题目: 606. 根据二叉树创建字符串 这道题属于与基础题,首先我们观察输入输出样例可以得到如果root->left为空,root->right不为空时,我们的空格仍然需要保留,如果当前节点有两个孩子,那我…...

【Python单元测试】学习笔记1

文章目录 01-单元测试基础什么是单元测试常用的文件结构运行单元测试 02. 断言函数03. Test Fixtures什么是Test Fixtures模块级别的Fixtures类级别的Fixtures方法级别的Fixtures 04.Mock python单元测试学习笔记1:https://blog.csdn.net/qq_42761751/article/detai…...

NVDLA专题10:具体模块介绍——Planar Data Processor

概述 平面数据处理器(Planar Data Processor, PDP)沿宽x高的前两个维度平面执行操作,在NVDLA版中,PDPD旨在实现池化层,module定义在NV_NVDLA_pdp.v。支持最大、最小和平均池化方法。平面内的几个相邻输入元素将被发送到非线性函数来计算一个…...

VTube Studio API架构解析:构建下一代虚拟主播交互生态的核心技术

VTube Studio API架构解析:构建下一代虚拟主播交互生态的核心技术 【免费下载链接】VTubeStudio VTube Studio API Development Page 项目地址: https://gitcode.com/gh_mirrors/vt/VTubeStudio 探索虚拟主播技术生态的核心构建模块,VTube Studio…...

Linux内核模块多文件编译:从Kbuild原理到工程实践

1. 项目概述:从单文件到多文件内核模块的进阶之路搞内核模块开发的朋友,估计都是从经典的“Hello World”单文件模块开始的。一个hello.c,配上几行简单的Makefile,insmod一下看到打印信息,成就感就来了。但当你真正想干…...

NGA论坛优化摸鱼体验:终极指南让你的浏览效率提升300%[特殊字符]

NGA论坛优化摸鱼体验:终极指南让你的浏览效率提升300%🔥 【免费下载链接】NGA-BBS-Script NGA论坛增强脚本,给你完全不一样的浏览体验 项目地址: https://gitcode.com/gh_mirrors/ng/NGA-BBS-Script 你是否厌倦了在NGA论坛浏览时被杂乱…...

Android14实战:在Android Studio中配置Pixel6 Pro模拟器与SDK API 34

1. 为什么你需要一个Android14模拟器? 作为一名Android开发者,我深知在真机上测试应用的重要性。但现实情况是,我们不可能拥有所有型号的设备。还记得去年我在开发一个适配多屏幕的应用时,手头只有两台测试机,结果上线…...

罗技鼠标压枪宏配置实战:游戏辅助脚本的完整应用方案

罗技鼠标压枪宏配置实战:游戏辅助脚本的完整应用方案 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为绝地求生中枪口乱飘而苦恼…...

WuKongIM:Go语言轻量级即时通讯内核架构解析与实战部署

1. 项目概述:一个为现代应用而生的即时通讯内核如果你正在开发一个需要实时消息功能的项目,无论是社交App、企业协同工具,还是物联网设备的管理后台,那么“消息收发”这个核心功能大概率会让你头疼。市面上的开源IM方案不少&#…...

Visual C++运行库终极解决方案:一站式修复所有Windows程序依赖问题

Visual C运行库终极解决方案:一站式修复所有Windows程序依赖问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否经常遇到"缺少msvcp140.…...

3分钟搞定Figma中文界面:设计师必备的终极汉化方案

3分钟搞定Figma中文界面:设计师必备的终极汉化方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 面对Figma满屏的英文界面感到困扰吗?专业术语看不懂、操作按钮…...

基于大语言模型的强化学习奖励函数自动生成:text2reward项目实践指南

1. 项目概述:从文本指令到强化学习奖励的桥梁最近在折腾强化学习项目时,一个老问题又冒出来了:怎么设计一个既精确又高效的奖励函数?传统方法要么是工程师凭经验手写一堆规则,复杂场景下容易顾此失彼;要么依…...

RPFM:重新定义全面战争MOD开发的工作流革命

RPFM:重新定义全面战争MOD开发的工作流革命 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://gitcode.com/g…...