定义可引用的 CI/CD 配置文件中的输入参数

news/2024/9/20 10:02:01/文章来源:https://www.cnblogs.com/jihugitlab/p/18421907

极狐GitLab 是一个一体化的 DevOps 平台,内置 CI/CD 功能。在极狐GitLab 15.11 中,我们引入了一项令人兴奋的新功能,允许用户为可包含的配置文件定义输入参数。 通过在 CI 模板中使用输入参数的功能,您可以将模板中的任何关键字替换为参数,包括阶段、脚本或作业名称。 例如,您可以向所有作业添加前缀,以更好地将它们与您要包含配置的流水线隔离。

这些输入参数可以针对每个配置文件声明为强制参数或可选参数,从而减少对全局变量的需求,并使 CI/CD 模板更加健壮和隔离。 输入参数的范围仅限于包含的配置,这意味着它们对流水线的其余部分没有影响。 这允许您声明和强制执行约束,例如通过强制模板输入。

这一功能开发是 CI/CD 组件目录长期路线图的第一个里程碑,这是一项新功能,允许用户搜索和重用具有适合其用例的特定参数的单一用途 CI/CD 配置单元。

在这篇技术博客文章中,我们将提供有关如何使用输入参数定义 CI/CD 模板以及如何在包含模板时使用它们的分步说明。

步骤1:创建一个模版YAML文档

第一步是创建一个模板 YAML 文档,该文档描述了模板可以使用哪些输入参数。 模板的第二部分是作业的定义,其中可能包括对使用插值格式 $[[ input-name ]] 的值的引用。 您应该在两个部分之间使用三条虚线。

下面是一个部署模板.yml 的示例:

spec:inputs:website:environment:default: test
---
deploy:stage: deployscript: echo "deploy $[[ inputs.website ]] to $[[ inputs.environment ]]"

在此模板中,我们定义了两个输入参数:网站和环境。 环境参数有默认值。 在内容部分,我们定义了一个插入输入参数的作业。

步骤 2:将模板包含在 CI 配置中

在主 CI 配置文件 .gitlab-ci.yml 中,引用模板并使用 input 关键字添加输入参数。

以下是包含带有输入参数的deploy-template.yml的示例:

include:- local: deploy-template.ymlinputs:website: my-website.example.com

在此示例中,我们在项目中包含了本地模板。 注意:您可以将输入与其他包含类型一起使用,例如 include:project、include:template、include:remote。

在下面的示例中,我们使用输入为作业名称添加前缀,并使阶段也变得动态。

spec:inputs:website:environment:default: stagingstage:default: testjob_prefix:default: ""
---
"$[[ inputs.job_prefix ]]deploy":stage: $[[ inputs.stage ]]script: echo "deploy $[[ inputs.website ]] to $[[ inputs.environment ]]"
然后我们可以将其从 .gitlab-ci.yml 中包含到输入参数中:include:- local: deploy-template.ymlinputs:stage: deploywebsite: http://example.comenvironment: productionjob_prefix: "my-app-"

就是这样! 您已成功创建接受输入的 CI 模板并在流水线配置中使用它们。 通过使用带有输入的模板,您可以简化流水线配置并使模板更加模块化和可重用。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

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

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

相关文章

Spark(一)概述

基本概念Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎Spark vs HadoopSpark和Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信是基于内存,而Hadoop是基于磁盘Hadoop Spark类型 分布式基础平台, 包含计算, 存储, 调度 分布式计算工…

基于语义增强的少样本检测,突破新类别偏见 | ICIP24

Few-shot目标检测(FSOD)旨在在有限标注实例的情况下检测新颖对象,在近年取得了显著进展。然而,现有方法仍然存在偏见表示问题,特别是在极低标注情况下的新颖类别。在微调过程中,一种新颖类别可能会利用来自相似基础类别的知识来构建自己的特征分布,导致分类混淆和性能下…

如何解决Warning: include(): Failed opening file_path for inclusion问题

解决方法检查文件路径确认文件路径是否正确无误,包括路径中的每个目录和文件名。验证文件是否存在使用file_exists()函数检查文件是否真的存在于指定路径上。检查文件权限确认文件具有足够的权限供当前用户读取。可以使用chmod命令修改文件权限:bashchmod 644 file_path确认文…

如何解决Unknown column column_name in field list问题

当遇到 "Unknown column column_name in field list" 这类错误时,通常表明 SQL 查询中引用了一个不存在的列。这类错误通常会给出具体的列名和出错的位置。下面是一些详细的解决步骤: 解决方法:检查 SQL 查询:确认 SQL 查询中引用的列名是否正确。检查拼写错误或…

最小圆覆盖(html)

最小圆覆盖问题是什么呢?就是指在二维平面上有一堆点,然后我们要求一个最小半径的圆能够将所有点全部都包住,这就是最小圆覆盖问题。 最小覆盖圆的性质 性质1:最小覆盖圆是唯一的 证明:我们假设有两个圆O1,O2,他们半径都是r,都是最小覆盖圆,那么所有的点一定在两圆的…

如何解决You have an error in your SQL syntax

当遇到 "You have an error in your SQL syntax" 这类错误时,通常表明 SQL 语句存在语法错误。这类错误通常会给出具体的错误位置和可能的原因。下面是一些详细的解决步骤: 解决方法:查看错误提示:错误提示通常会显示具体的 SQL 语句和出错的位置。例如: You ha…

网络安全C10-2024.9.15-Nmap、Xray、Nessus和AWVS使用扫描

1、安装并使用Nmap扫描一个地址(本机、VPS、虚拟机环境都可以),提供扫描结果截图nmap下载安装: https://nmap.org/download#windowsnmap概述: Nmap(“Network Mapper<网络映射器>”)是一款开放源代码的网络探测和安全审核的工具。 Nmap输出的是扫描目标的列表,以…

Warning: Cannot redeclare function_name()

"Warning: Cannot redeclare function_name()"原因:尝试重新声明已存在的函数。 解决方法:检查是否有重复定义函数的情况,确保每个函数只定义一次。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javas…

2024-08-29-SEA-RAFT-中英对照

SEA-RAFT: Simple, Efficient, Accurate RAFT for Optical Flow SEA-RAFT:简单、高效、准确的光流RAFT算法 Yihan Wang, Lahav Lipson, and Jia Deng 王一涵,Lahav Lipson,和Jia Deng Department of Computer Science, Princeton University {yw7685, llipson, jiadeng}@pr…

You have an error in your SQL syntax

"You have an error in your SQL syntax"原因:SQL语句语法错误。 解决方法:检查SQL语句,确保语法正确。例如,如果提示在LIMIT子句附近出错,检查LIMIT后面的参数是否合法。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MY…

Parse error: syntax error

"Parse error: syntax error"原因:这通常表明PHP在解析脚本时遇到了语法错误。 解决方法:检查错误提示中的文件和行号,查找语法错误,如括号不匹配、拼写错误、遗漏的分号等。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+…

帝国CMS提示parseerrorsyntaxerror如何解决

当帝国CMS提示“Parse error: syntax error”时,这通常意味着PHP在解析脚本时遇到了语法错误。这种错误可能是由多种原因引起的,以下是一些常见的解决方法: 解决方法:检查PHP版本兼容性:如果你正在使用的是较新的PHP版本(比如PHP 7及以上),而帝国CMS的某些部分代码可能…