在gitlab中指定自定义 CI/CD 配置文件

文章目录

    • 1. 介绍
    • 2. 配置操作
    • 3. 配置场景
      • 3.1 CI/CD 配置文件在当前项目
        • step1:在当前项目中创建目录,编写流水线文件存放在该目录中
        • step2:在当前项目中配置
        • step3:运行流水线测试
      • 3.2 CI/CD 配置文件位于外部站点上
        • step1:将你的文件可以发布在网站上
        • step2:配置外部链接地址
        • step3:运行流水线测试
      • 3.3 CI/CD 配置文件在不同的项目中
        • step1:创建群组ci-file,在该群组下创建项目ci-file-test,将ci文件存放在该项目的跟路径下。
        • step2:在所需的项目上配置
        • step3:运行流水线测试
      • 扩展
        • ci文件在某个目录下
          • 在dev目录下
          • 所需项目配置
          • 运行流水线测试
        • ci文件在某个分支中
          • 在ops分支的ops目录下
          • 所需项目配置
          • 运行流水线测试
      • 3.4 将CI/CD配置文件存放在单独的项目中

1. 介绍

指定自定义 CI/CD 配置文件,顾名思义就是在项目中指定文件来代替默认的.gitlab-ci.yml文件的方式来运行流水线。以往我们在使用流水线的时候,都是默认将.gitlab-ci.yml文件存在在项目的跟路径下,但是我们也可以指定备用文件名路径,或者不想在每个项目中来维护这个yml文件,那么通过自定义 CI/CD 配置文件便可以实现。

2. 配置操作

  1. 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。

  2. 在左侧边栏上,选择 设置 > CI/CD

  3. 展开 流水线通用设置

  4. CI/CD 配置文件

    字段中,按需输入文件名。

  5. 选择 保存修改

3. 配置场景

3.1 CI/CD 配置文件在当前项目

说明:

  • ci目录中的文件,只要是yaml/yml结尾即可,文件名可以自定义,多个yml/yaml文件以指定的具体文件为准,不支持*匹配。
  • ci文件是相对于当前项目的根路径。
  • 如果指定了CI/CD配置文件,那么流水线的运行就以该配置文件为准,默认跟下的.gitlab-ci.yml可以保留也可以删除。
step1:在当前项目中创建目录,编写流水线文件存放在该目录中

在这里插入图片描述

step2:在当前项目中配置

在这里插入图片描述

step3:运行流水线测试

在这里插入图片描述

3.2 CI/CD 配置文件位于外部站点上

说明:

  • URL 以 .yml 或者.yaml结尾均可以。
step1:将你的文件可以发布在网站上

在这里插入图片描述

step2:配置外部链接地址

在这里插入图片描述

step3:运行流水线测试

在这里插入图片描述

3.3 CI/CD 配置文件在不同的项目中

说明:

  • 文件必须存在于其默认分支上,或者将分支指定为 refname。
  • 路径必须相对于其他项目中的根目录。
  • 路径后面必须跟一个 @ 符号以及完整的群组和项目路径。

eg:

  • .gitlab-ci.yml@namespace/another-project
  • my/path/.my-custom-file.yml@namespace/sub-group/another-project
  • my/path/.my-custom-file.yml@namespace/sub-group1/sub-group2/another-project:refname
step1:创建群组ci-file,在该群组下创建项目ci-file-test,将ci文件存放在该项目的跟路径下。

在这里插入图片描述

step2:在所需的项目上配置

在这里插入图片描述

step3:运行流水线测试

在这里插入图片描述

扩展

ci文件在某个目录下
在dev目录下

在这里插入图片描述

所需项目配置

在这里插入图片描述

运行流水线测试

在这里插入图片描述

ci文件在某个分支中
在ops分支的ops目录下

在这里插入图片描述

所需项目配置

在这里插入图片描述

运行流水线测试

在这里插入图片描述

3.4 将CI/CD配置文件存放在单独的项目中

将CI/CD文件存放在单独的项目中,通过设置此项目的权限可以更加精细化的维护ci文件。这样遍和includes的使用有了异曲同工的效果。

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

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

相关文章

掌动智能性能压力测试优势有哪些

企业通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。本文将介绍性能压力测试的价值及主要优势! 一、性能压力测试的价值 1、评估系统能力:有助于参数的基准测试,可以度量系统的响应时间;还有助于检查系统是否可…

OpenCV-Python小应用(九):通过灰度直方图检测图像异常点

OpenCV-Python小应用(九):通过灰度直方图检测图像异常点 前言前提条件相关介绍实验环境通过灰度直方图检测图像异常点代码实现输出结果 参考 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容&#xff…

基于springboot实现高校党务平台管理系统【项目源码】

基于springboot实现高校党务平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群&#x…

【flink-sql实战】flink 主键声明与upsert功能实战

文章目录 一. flink 主键声明语法二. 物理表创建联合主键表三. flink sql使用 一. flink 主键声明语法 主键用作 Flink 优化的一种提示信息。主键限制表明一张表或视图的某个(些)列是唯一的并且不包含 Null 值。 主键声明的列都是非 nullable 的。因此主…

hdlbits系列verilog解答(100输入逻辑门)-39

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 构建一个具有 100 个输入in[99:0]的组合电路。 有 3 个输出: out_and: output of a 100-input AND gate. out_or: output of a 100-input OR gate. out_xor: output of a 100-input XOR gate. 二、verilog源…

ubuntu16.04 交叉编译 mbedtls

在为客户交叉编译项目时需要依赖 mbedtls, 客户的机器是 arm64 的 ubuntu 16.04, 交叉编译过程中遇到几个问题。 首先, mbedtls 需要依赖 python, 在 cmake 的过程中, 如果不是使用系统默认的 cmake 可能会导致,mbedt…

189. 轮转数组

给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数 实现方法1:每次移动一位&#xff0c;直到k个位置。 void roate1(vector<int>& nums, int k) {if(k < 0){return;}int len nums.size();int stride k % len;for…

蓝桥杯算法双周赛心得——被替换的身份证(分类讨论)

大家好&#xff0c;我是晴天学长&#xff0c;分类讨论一定要细节啊&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .被替换的身份证 2) .算法思路 假设一方获胜 1.接受数据 2.假设潜梦醒 无非就是&am…

计算机组成原理之处理器(单周期)

引言 处理器的实现方式决定了时钟周期长度和CPI。实现方式有单周期与流水线&#xff0c;本篇谈谈单周期处理器。 目前CPU的频率一般是3GHZ/4GHZ&#xff0c;但是频率是有极限值的&#xff0c;受cycletime影响 基本的RISC-V实现 存储指令&#xff1a;ld,sd算术逻辑指令 &…

AI 绘画 | Stable Diffusion 进阶 Embeddings(词嵌入)、LoRa(低秩适应模型)、Hypernetwork(超网络)

前言 Stable Diffusion web ui&#xff0c;除了依靠文生图&#xff08;即靠提示词生成图片&#xff09;&#xff0c;图生图&#xff08;即靠图片提示词生成图片&#xff09;外&#xff0c;这两种方式还不能满足我们所有的绘图需求&#xff0c;于是就有了 Embeddings&#xff0…

idea代码快捷键Mac版

1、查询任何东西 双击 Shift2、文件内查找 Command F 3、文件内替换 Command R4、全局查找&#xff08;根据路径&#xff09; Command Shift F5、在当前文件跳转到某一行的指定处 Command L6、退回 / 前进到上一个操作的地方 Command Option 方向键左Command Opt…

京东数据分析:2023年Q3户外鞋服市场分析报告(冲锋衣行业销售数据分析)

从露营、骑行、徒步、桨板、垂钓、飞盘、滑雪到如今的city walk&#xff0c;近两年户外运动已经成为了年轻人新的生活方式。户外运动的爆发也刺激了人们对于鞋服在穿搭、场景化、专业性功能等方向的需求&#xff0c;户外鞋服市场迎来增长。 而全国性的降温则带给目前的户外鞋服…

json数据格式的理解(前+后)

什么是JSON&#xff1a; JSON&#xff08;JavaScript Object Notation&#xff09;是一种广泛使用的数据交换格式&#xff0c;它在前端和后端开发中都扮演着重要的角色。 JSON 的结构&#xff1a; JSON 数据由大括号 {} 包围&#xff0c;表示对象。 对象中的数据以键值对形式…

React 组件和 prop:入门教程

组件和 props React 的核心概念是组件。组件是可重用的代码块&#xff0c;用于描述 UI 中的一部分内容。组件可以通过 props 接收输入&#xff0c;通过 state 管理本地数据&#xff0c;并通过事件处理程序响应用户的操作。 例如&#xff0c;我们可以创建一个名为 Button 的组件…

vue.cli 中怎样使用自定义的组件

目录 创建自定义组件 注册并使用自定义组件 全局注册自定义组件 使用 Props 传递数据 总结 前言 在Vue CLI中使用自定义组件是构建交互式和模块化Web应用的重要一环。Vue CLI为开发者提供了使用自定义组件的灵活性和简便性。通过Vue CLI&#xff0c;你可以创建、注册和使…

【SA8295P 源码分析 (三)】120 - QNX i2c_tool 工具编译、使用方法介绍(I2C / CCI) 及 源码分析

【SA8295P 源码分析】120 - QNX i2c_tool 工具编译、使用方法介绍(I2C / CCI) 及 源码分析 一、i2c_tool 获取、编译 及 使用方法1.1 i2c_tool 源码开发1.2 i2c_tool 源码编译1.3 i2c_tool 使用方法介绍二、i2c_tool 源码分析2.1 头文件 及 数据结构体定义2.2 i2c_write_reg(…

内向基环树

基环树 基环树,也是环套树,是一种有 n 个点 n 条边的图,简单地讲就是树上在加一条边。它形如一个环,环上每个点都有一棵子树的形式。 **基环内向树:**每个点出度为 1(因此每个环上点的子树,儿子指向父亲) **基环外向树:**每个点入度为 1(因此每个环上点的子树,父亲…

yo!这里是哈希应用相关介绍

目录 前言 位图 模拟实现 应用举例 布隆过滤器 模拟实现 应用举例 后记 前言 在介绍unordered系列容器时&#xff0c;我们知道其底层使用的是哈希表&#xff0c;其实哈希是一种方法&#xff0c;是一种思想&#xff0c;哈希思想&#xff08;Hashing&#xff09;是一种在…

模拟一个js底层数据类型隐式转换

隐式转换规则 两端类型相同&#xff0c;比较值。如果一边值为NaN&#xff0c;一律返回falseundefined 和 null 只有自身与自身比较&#xff0c;或者这俩互相比较时才return true两端都是原始类型[number/string/boolean] 转成数字比较只要有一端是对象类型&#xff0c;把对象转…

【第2章 Node.js基础】2.4 Node.js 全局对象...持续更新

什么是Node.js 全局对象 对于浏览器引擎来说&#xff0c;JavaScript 脚本中的 window 是全局对象&#xff0c;而Node.js程序中的全局对象是 global&#xff0c;所有全局变量(除global本身外)都是global 对象的属性。全局变量和全局对象是所有模块都可以调用的。Node.is 的全局…