Gitlab中Pipeline语法六

news/2025/2/26 7:15:33

Gitlab中Pipeline语法

needs/include/extends

nodes 阶段并行

- 可以无序执行作业,无序按照阶段顺序运行某些作业,可以让多个阶段同时运行.

- 如果nedds:设置为指向因only/except规则而未实例化的作业,或者不存在,则创建管道时会出现yaml错误.

stages:
  - build
  - test
  - deploy
module-a-build:
  stage: build
  script:
   - echo "hello a"
   - sleep 10

module-b-build:
  stage: build
  script:
    - echo "hello b"
    - sleep 10

module-a-test:
  stage: test
  script:
    - echo "hello test a"
    - sleep 10
  needs: ["module-a-build"]

module-b-test:
  stage: test
  script:
   - echo "hello test b"
   - sleep 10
  needs: ["module-b-build"]

在这里插入图片描述

制品下载

在使用needs,接通过artifacts:true或artifacts:false来控制工件下载,默认为true

module-a-test:
  stage: test
  script:
    - echo "hello a test"
    - sleep 10
  needs:
    - job: "module-a-build"
    - artifacts: true

如果引入文件中和文件定义的job一样,本地文件会覆盖引入文件

include

可以引入外部yaml文件
使用合并功能可以自定义和覆盖包含本地定义CI/CD配置

include: local 引入本地配置

include:
  local: 'ci/localci.yaml'

include:file 引入其它项目配置文件

include:
  #项目名称
  project: demo/demo/java-service
  ref: master
  file: '.gitlab-ci.yml'

在这里插入图片描述

remote

通过http/https进行引用远程文件

include:
  - remote: 'https://github.com/demo-project/master/.gitlab-ci-template.yml'

extends-继承作业配置

stages:
  - test
variables:
  RSPEC: 'TEST'

.tests:
  script:echo 'mvn test'
  stage: test
  only:
    refs:
      - tags

testjob:
  extends: .tests
  script: echo 'mvn clean test'
  only:
    variables:
      - $RSPEC

合并后

variables:
  RSPEC: 'TEST'
  
testjob:
  stage: test
  script: "mvn clean test"
  only:
    variables:
      - $RSPEC
    refs:
      - tage

http://www.niftyadmin.cn/n/215278.html

相关文章

HotSpot经典垃圾收集器

虽然垃圾收集器的技术在不断进步,但直到现在还没最好的收集器出现,更加不存在“万能”的收集器,所以我们选择的只是对具体应用最合适的收集器。 图 HotSpot中的垃圾收集器,连线表示可搭配使用 1 Serial收集器 是最基础、历史最悠…

视觉学习(四) --- 基于yolov5进行数据集制作和模型训练

环境信息 Jetson Xavier NX:Jetpack 4.4.1 Ubuntu:18.04 CUDA: 10.2.89 OpenCV: 4.5.1 cuDNN:8.0.0.180一.yolov5 项目代码整体架构介绍 1. yolov5官网下载地址: GitHub: https://github.com/ultralytics/yolov5/tree/v5.0 2. …

SQL之SQL优化

文章目录一、插入数据优化insert优化大批量插入数据二、主键优化数据组织方式页分裂页合并主键设计原则三、order by优化四、Group By 优化五、limit优化六、count优化count的几种用法七、update优化总结一、插入数据优化 insert优化 insert into tb_test values(1, tom); in…

【回眸】ChatGPT Plus(GPT4体验卡)

前言 没忍住诱惑,开了个GPT4.0的会员,给大家表演一波 开通成功 开始问问题 写一个CNN疲劳驾驶监测代码,要求{使用Python语言,使用包,能成功运行,需要调用电脑摄像头,要求GUI界面有一些参数…

4月最新编程排行出炉,第一名ChatGPT都在用~

作为一名合格的(准)程序员,必做的一件事是关注编程语言的热度,编程榜代表了编程语言的市场占比变化,它的变化更预示着未来的科技风向和机会! 快跟着一起看看本月排行有何看点: 4月Tiobe排行榜前…

小程序页面级配置文件和应用级配置文件

小程序的每一个页面均可以使用json文件对页面的效果进行配置。页面配置分为页面级和应用级,在本项目中,pages/index/index.json是页面级配置文件,而app.json是应用级配置文件。下面分别进行讲解。 1.页面级配置文件 在页面级配置文件中可以…

Qt的内存管理机制

QObject的parent设置为null 1.如果构造时直接指定了null,当前实例不会有父对象存在,Qt也不能自动析构该实例,除非实例超出作用域导致析构函数被调用,使用deletelater()函数,不建议使用delete 2.如果指定了parent&#…

idea本地仓库远程分支只有一个master分支,如何添加其他远程分支方法

场景:当我们第一次将远程仓库的代码拉到本地仓库操作时,默认只关联了一个master分支,如果我们需要使用其他分支,就需要添加其他远程分支到本地仓库 要在git上添加其他远程分支,您可以按照以下步骤操作: 1.…