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

Gitlab中Pipeline语法三

Pipeline语法三

only/except/rules/workflow

only和except

用分支策略来限制jobs构建:

  • only 定义哪些分支和标签的git项目将会被job执行
  • except定义哪些分支和标签的git项目将不会被job执行

rules 构建规则

  • rules允许按顺序评估单个规则,直到匹配并为作业动态提供属性
  • rules不能与only/except组合使用

可用规则

  • if 如果条件匹配
  • changes 指定文件发生变化
  • exists 指定文件存在

rules-if使用

variables:
  DOMAIN: example.com

codescan:
  stage: condescan
  tags:
    - build
  script:
    - echo "codescan"
  rules:
    - if: '$DOMAIN == "example.com"'
      when: manual
    - when: on_success

在这里插入图片描述
rules-changes使用,若果Dockerfile文件发生变化codescan手动执行,若果DOMAIN变量是example.com成功继续执行

codescan:
  stage: codescan
  tags:
    - build
  script:
    - echo "codescan"
    - sleep 5;
  rules:
    - changes:
      - Dockerfile
      when: manual
    - if: "$DOMAIN == "example.com"'
      when: on_success
    - when: on_success

exists使用.若果文件存在则继续执行

codescan:
  stage: codescan
  tags:
    - build
  script:
    - echo "codescan"
    - sleep 5;
  rules:
    - exists:
      - Dockerfile
      when: on_success
     - when: on_failure

workflow-rules管道创建

  • 顶级workflow关键字适用于整个管道,并将确定是否创建管道
  • when: 可以设置为always或never,如果未提供,默认always
#如果变量是example.com创建管道,否则不创建
variables:
  DOMAIN: example.com
workflow:
  rules:
    - if: '$DOMAIN == "example.com"'
      when: always
    - when: never

http://www.kler.cn/a/5154.html

相关文章:

  • C++ 多线程异步操作
  • 计算机网络之---局域网
  • 《深度学习模型在鸿蒙分布式框架下的跨设备高效之旅》
  • 用 Python 绘制可爱的招财猫
  • 计算机网络例题
  • MySql根据经纬度查询距离
  • Python3,自从掌握了这个方法,再也不用print进行调试了。
  • 集合之ArrayList
  • JetBrains GoLand 2022.3 Crack
  • Python使用深度神经网络对高光谱图像进行土地覆盖分类
  • Vue项目的打包上线步骤
  • [架构之路-144]-《软考-系统分析师》- 7-企业信息化战略与实施-1-概念、方法、与企业战略/IT战略/业务重组的关系
  • 泰克示波器校准失败
  • 【深入理解二叉树OJ题】
  • 二分查找算法
  • 智联物联分享之物联网协议MQTT简述,MQTT协议特点
  • 今年面试好激烈!
  • 主成分分析(PCA)原理
  • 计算机软件著作权登记申请流程和需要的时间
  • 天狗实战SpringBoot+Vue(二)项目结构搭建(上)
  • 离线GPU服务器配置虚拟环境
  • 日入500+的程序员都在用的“接私活”平台
  • 【IAR工程】STM8S208RB基于ST标准库下按键检测
  • ASTRA Toolbox学习笔记
  • Excel使用技巧:如何打印指定区域?如何设置禁止打印?
  • 华为路由器 高级ACL配置