当前位置: 首页 > 知识库问答 >
问题:

Gitlab CI阶段和依赖

冯嘉珍
2023-03-14

我的gitlab ci。yml如下所示。因为若分支是主分支,docker构建阶段将运行,而部署开发依赖于docker构建阶段。部署开发阶段出现了,即使分支不是主分支,但功能分支我也不希望部署开发阶段出现。这是没有意义的,可能会导致问题。我怎样才能做到这一点?谢谢

java prettyprint-override">docker-build:
  image: docker:19.03.12
  stage: docker-build
  services:
    - docker:19.03.12-dind
  script:
    - docker build -t .....
  rules:
    - if: '$CI_COMMIT_REF_NAME == "master"'

deploy-dev:
  stage: deploy
  image: microsoft/azure-cli
  dependencies:
    - docker-build
  script:
    - ......
  when:
    manual

共有1个答案

司寇旺
2023-03-14

依赖项关键字有点用词不当。它不控制一个作业依赖于哪些其他作业,而是控制一个作业依赖于哪些工件。如果作业没有依赖项关键字,它将从以前的作业中下载所有工件。如果它是一个空数组,([])它将不会下载任何工件。

目前,除了或规则关键字之外,没有其他方法可以限制管道中运行的作业。

 类似资料:
  • 我想在javafx中从CLI控制台创建尽可能多的阶段,所有这些阶段都是相互独立的。我知道只能有一个应用程序实例,这就是为什么我这样做: 我在屏幕上只看到,并且没有调用SomeStage的构造函数。

  • 该阶段之所以称为layout,因为该阶段的代码都是在DOM渲染完成(mutation阶段完成)后执行的。 该阶段触发的生命周期钩子和hook可以直接访问到已经改变后的DOM,即该阶段是可以参与DOM layout的阶段。 概览 与前两个阶段类似,layout阶段也是遍历effectList,执行函数。 具体执行的函数是commitLayoutEffects。 root.current = fini

  • 终于到了执行DOM操作的mutation阶段。 概览 类似before mutation阶段,mutation阶段也是遍历effectList,执行函数。这里执行的是commitMutationEffects。 nextEffect = firstEffect; do { try { commitMutationEffects(root, renderPriorityLevel);

  • 我无法理解以下几行之间的区别(http://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.2 ) A) 准备工作包括将静态字段初始化为默认值。 b)类的初始化包括为类中声明的静态字段(类变量)执行初始化器。 这是否意味着'a'将在准备阶段分配默认值,'b'将在初始化阶段分配值:

  • 本文向大家介绍JavaScript运行过程中的“预编译阶段”和“执行阶段”,包括了JavaScript运行过程中的“预编译阶段”和“执行阶段”的使用技巧和注意事项,需要的朋友参考一下  javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段,而在javascript中也有类似的“预编译阶段”(javascript的预编译是以代码块为范围<scr

  • 大家好,我正试图与下面的声纳整合,这是我面临的错误 未能在项目xxxxx上执行goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar(default-cli):无法从插件'icode'注册扩展名fr.cnes.sonar.plugin.icode.check.icodeSensor:javax/xml/bind/