在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…

ubuntu16.04 交叉编译 mbedtls

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vue3 源码解读系列(三)——组件渲染

组件渲染 vnode 本质是用来描述 DOM 的 JavaScript 对象,它在 Vue 中可以描述不同类型的节点,比如:普通元素节点、组件节点等。 vnode 的优点: 抽象:引入 vnode,可以把渲染过程抽象化,从而使得组…

Oracle迁移(RAC变单机模式)

1.升级内核 systemctl stop firewalld systemctl disable firewalldrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo"elrepo-kernel" list --showduplic…

鸿蒙原生应用开发-DevEco Studio远程模拟器的使用

使用单设备模拟器运行应用/服务 Remote Emulator支持Phone、Wearable、Tablet、TV等设备类型,但不同区域(开发者帐号注册地)支持的设备类型可能不同,请以实际可申请的设备类型为准。 Remote Emulator中的单设备模拟器&#xff08…

图扑智慧农业:农林牧数据可视化监控平台

数字农业是一种现代农业方式,它将信息作为农业生产的重要元素,并利用现代信息技术进行农业生产过程的实时可视化、数字化设计和信息化管理。能将信息技术与农业生产的各个环节有机融合,对于改造传统农业和改变农业生产方式具有重要意义。 图…

语音识别与自然语言处理(NLP):技术前沿与未来趋势

语音识别与自然语言处理(NLP):技术前沿与未来趋势 随着科技的快速发展,语音识别与自然语言处理(NLP)技术逐渐成为人工智能领域的研究热点。这两项技术的结合,使得机器能够更好地理解和处理人类语…

Leetcode Hot100之六:42.接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 提示&#xff1a; n height.length 1 < n < 2 * 10^4 0 < height[i] < 10^5 思路 暴力循环&#xff1a; 原本的思路是左边界i从左到…

C语言--有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。

一.解体思路 设一个结构体数组&#xff0c;数组中包含3个元素; 每个元素中的信息应包括候选人的姓名和得票数;输入被选人的姓名&#xff0c;然后与数组元素中的“姓名”成员比较&#xff0c;如果相同&#xff0c;就给这个元素中的“得票数”成 员的值加1;输出所有元素的信息。 …

[Linux打怪升级之路]-信号的保存和递达

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、信号的保…