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]
相关推荐
小小测试开发2 天前
AI Agent 回归测试:Replay 录一次、CI 跑千遍,像 Jest 一样给非确定性系统写断言
人工智能·ci/cd
我一定会有钱3 天前
打造完美工作流:Git 配置”一次推送,三端同步”(Gitee/GitCode/GitHub)
开发语言·windows·vscode·搜索引擎·gitlab·github·visual studio code
LXY_BUAA3 天前
Git_在飞牛中部署 GitLab_20260817
git·gitlab
JavaDog程序狗4 天前
【指南】uni-app微信小程序多环境CI-CD完全指南
ci/cd·uni-app·jenkins
Patrick_Wilson4 天前
sccache 用在 Rust 上为什么常「不省编译」:原理、限制与 Windows 接入
ci/cd·rust·编译器
北风toto5 天前
研发效能与后端核心技术全景指南:从CI/CD到共性组件实战
java·开发语言·ci/cd
Jeanyia6 天前
GitLab 配套 Git 常用命令
git·gitlab
顿哥GPT6 天前
ChatGPT Plus/Pro 解锁 Codex 后这样玩:云端任务、本地 CLI 与 CI/CD 的进阶实战手册
ci/cd·chatgpt
游戏开发爱好者86 天前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone
极小狐6 天前
极狐GitLab 补丁版本:19.2.1、19.1.3、19.0.5
网络·安全·gitlab·极狐gitlab·安全更新·补丁版本