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

gitlab高级功能之CI/CD组件 - 实践(二)

上一篇主要讲解了CI/CD组件的原理,看起来稍微有一点枯燥,那么接下来给大家演示下如何使用。

案例

  • 创建一个项目(README.md,template目录)

案例1

step1: 在template中新建yml文件,cat templates/test-stage.yml

说明:
1、创建变量变量stage,stage-2,stage-3,分别默认值为test,build,deploy
2、编写三个job

spec:
  inputs:
    stage:
      default: test
    stage-2:
      default: build
    stage-3:
      default: deploy
---
component-job-1:
  script: 
    - echo job 1
    - env
  stage: $[[ inputs.stage ]]

component-job-2:
  script: 
    - echo job 2
    - env
  stage: $[[ inputs.stage-2 ]]

component-job-3:
  script: 
    - echo job 3
    - env
  stage: $[[ inputs.stage-3 ]]
step2: 编写.gitlab-ci.yml文件

方式1: 三个变量使用默认值,表示引用里面的三个job

include:
  - component: 192.168.31.100/ops/components/test-stage@main
# 因为使用的是默认的值,也可以忽略下一行的stages写法
stages: [build,deploy,post]

在这里插入图片描述

方式2: 三个变量使用定义不同的值,依然饮用里面的三个job

include:
  - component: 192.168.31.100/ops/components/test-stage@main
    inputs:
      stage: part1
      stage-2: part2
      stage-3: part3

stages: 
  - part1
  - part2
  - part3

在这里插入图片描述
方式3: 只使用某个变量,即只引用某一个job。目前并支持这种行为,除非编写某个功能的job

案例2

step1: 在template中新建yml文件,cat templates/test-v1.yml
spec:
  inputs:
    name: 
      default: wangkaixuan
    department:
      default: cs
    what: 
      default: support
    stage:
      default: pre
---
doing-what:
  stage: $[[ inputs.stage ]]
  script: 
    - your name is $[[ inputs.name ]],you are located in $[[ inputs.department ]],your daily work are doing $[[ inputs.what ]].
    - env

step2: 编写.gitlab-ci.yml文件
include:
  - component: 192.168.31.100/ops/components/test-stage@main
    inputs:
      stage: one
      stage-2: two
      stage-3: three
  - component: 192.168.31.100/ops/components/test-v1@main
    inputs:
      name: wkx
      what: "all do work"
      stage: post

stages: [one,two,three,post]

在这里插入图片描述

相关文章:

  • 二叉树刷题Leetcode
  • vscode中使用luaide-lite插件断点调试cocos2dx-lua
  • python程序内存泄漏的解决方法
  • flutter 自定义TabBar 【top 0 级别】
  • 【Android踩过的坑】13.Android Studio 运行成功,但APP没有安装上的问题
  • 项目中如何配置数据可视化展现
  • mysql多表重复数据只保留一行的思路
  • OpenCV简介及安装
  • java多线程CountDownLatch简单测试
  • lodash常见的方法
  • Centos7安装docker、java、python环境
  • ubuntu/vscode下的c/c++开发之-CMake语法与练习
  • 网狐类源码游戏配置数据库数据(一键配置网狐数据库)
  • Kubernetes v1.28.4 安装笔记
  • Linux常用命令----history命令
  • Find My键盘|苹果Find My技术与键盘结合,智能防丢,全球定位
  • Git常用命令#更改用户名
  • web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)
  • C语言——猜凶手
  • Kotlin学习——kt中的类,数据类 枚举类 密封类,以及对象
  • 今年前4个月上海对拉美国家进出口总值增长2%
  • 国务院关税税则委:调整对原产于美国的进口商品加征关税措施
  • 著名连环画家庞邦本逝世
  • 训练孩子的科学思维,上海虹口推出“六个一百”旗舰工程
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,芯片市场有望迎来新增量需求
  • 生态环境保护督察工作条例对督察对象和内容作了哪些规定?有关负责人答问