- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何定期运行 gitlab 阶段?我知道此处记录的管道计划:https://docs.gitlab.com/ee/ci/pipelines/schedules.html .我只对运行分支的特定测试阶段感兴趣。问题是我想要定位的分支涉及很多其他阶段。一种选择可能是在脚本部分引入一个变量,表示如果为真,则执行脚本。但是,这可能很麻烦,并且需要对所考虑的特定分支的 ci 文件的所有阶段进行大量更改。
最佳答案
您可以使用 only/except
控制作业何时运行关键字,或更高级的 rules
关键字以及管道源变量。
示例与 only
:
scheduled_test:
stage: tests
image: my_image:latest
only:
- schedules
script:
- ./run_some_things.sh
only
关键字允许您定义一些条件,表示“只有在这些条件为真时才运行此作业”,并提供了检查管道源的速记。
schedules
意味着管道是从计划启动的,而不是从推送、触发器等开始的。
except
关键字正好相反。如果它有
except: schedules
除非已安排,否则该作业将始终运行。您可以查看
only/except
的完整文档。这里的关键词:
https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic
rules
关键字扩展了
only/except
的可能性选项。我们可以从上面的例子中得到相同的结果,如下所示:
scheduled_test:
stage: tests
image: my_image:latest
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
when: always
- if: '$CI_PIPELINE_SOURCE == "push"'
when: never
在这个例子中,我们检查预定义的变量
$CI_PIPELINE_SOURCE
看看是什么启动了这条管道。如果是"dispatch",我们总是运行这个工作。例如,如果源是“push”(因此管道是由
git push
命令启动的),则此作业将永远不会运行。与
rules
关键字,所有
if
语句被 OR 运算在一起,所以上面的例子是,
if the source is schedule, always run OR if the source is a push, never run
.但是,如果出现以下情况,您可以将多个条件 AND 放在一起:
rules:
- if: '$CI_PIPELINE_SOURCE == "push" && $MY_CUSTOM_VARIABLE == true'
when: manual
您可以阅读
rules
的完整文档。这里的关键词:
https://docs.gitlab.com/ee/ci/yaml/#rules
关于continuous-integration - 如何定期运行 gitlab stage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65910754/
我将多阶段Dockerfile与阶段Build和Start一起使用,如下所示:。我想知道,在Start阶段,我是否需要再次执行Copy--from=Build<...。换句话说,是不是开始重用文件系统
我将多阶段Dockerfile与阶段Build和Start一起使用,如下所示:。我想知道,在Start阶段,我是否需要再次执行Copy--from=Build<...。换句话说,是不是开始重用文件系统
我的作业配置如下,我正在尝试对我的 hadoop 作业进行简单的两步链接, public int run(String[] args) throws Exception { Confi
我正在尝试编写一个简单的方法来切换我的窗口是否最小化(即图标化)。我有奇怪的行为。下面是说明问题的可运行代码。 我在 Gnome 3.20.4 和 XFCE 4.12 上得到了相同的结果。我还没有在任
在 ActionScript 3 (as3) 中 调用 stage.width 和 stage.stageWidth 有什么区别 这是我记得我过去很困惑的事情(Adobe 的 api 文档是一种混淆的
我在新的 Java SDK 11 中基于 this 创建了项目示例: EntryPoint.java package com.example; import javafx.stage.Stage; i
两年半前,Adobe宣布FlashPlayer 10将支持色彩校正。不可否认,该实现实际上是最基本的,因为它将始终假定所有内容均为sRGB编码,并将该内容转换为系统上正在使用的当前显示配置文件。 Th
在as3中调用stage.width和stage.stageWidth有什么区别 我在某处读到,如果舞台上什么都没有,那么 stage.width 的值为 0,但是当我在舞台上什么都没有但在舞台上动态
当我暂存至少一个跟踪文件时,以下 block 起作用。但是当我只暂存未跟踪的文件时,repo.RetrieveStatus().Staged.Count 等于零(我希望它会随着暂存文件的数量增加),因
作为两者 node步和stage步骤提供范围{}语法,在 groovy 代码中定义拓扑的最佳实践是什么? 附件A node ("NodeName") { stage ("a stage ins
我尝试关注 these fairly simple instructions for integrating Static Application Security Testing (SAST)进入我
我尝试关注 these fairly simple instructions for integrating Static Application Security Testing (SAST)进入我
我有一个主舞台,想创建多个额外的舞台 (Windows)。这些就像 Photoshop 中控制主舞台的调色板,但我想要具有标题栏、调整大小和能够将它们拖动到多个监视器上的任何位置的功能(Popup 类
我正在尝试将下面代码中的字符串显示到其他类中的 Pane 。 public WebEngine helloWebEngine(Stage stage) { WebView wv = getWe
package { import flash.display.Stage; public class MyGlobal { public static var CX:Number =
根据我的标题,我的 jenkins 设置收到以下错误: Unknown stage section "stage". Starting with version 0.5, steps in a sta
当您在 ASP.NET Core 站点上的 Visual Studio 中单击“添加 Docker 支持”时,这是默认的多阶段 Dockerfile。 FROM microsoft/aspnetcor
我的问题是:babel-preset-stage-0 之间有什么区别? , babel-preset-stage-1 , babel-preset-stage-2和 babel-preset-stag
我最近对有关“新式”JavaScript 的文章中的以下术语感到困惑: ES6 ES7(有时,尽管很少,ES8 和更大版本) ES2015(有时是 ES2016 及更高版本) 第 0 阶段(和第 1
2014-04-04 16:02:31.633 java[44631:1903] Unable to load realm info from SCDynamicStore 14/04/04 16:0
我是一名优秀的程序员,十分优秀!