一个提交的多个管道?

Posted

技术标签:

【中文标题】一个提交的多个管道?【英文标题】:Multiple pipelines for one commit? 【发布时间】:2019-02-16 21:29:17 【问题描述】:

当我提交对 gitlab 存储库的更改时,我希望触发一个管道,理想情况下应该运行我指定的所有作业,但事实并非如此。每次创建 4 个管道。我只有一个跑步者,那就是 docker,有 3 个标签:构建、部署、测试。

我简化了下面的文件,但仍然无法找出问题所在。

.gitlab-ci.yml

image: alpine:3.8

some_job:
 tags:
  - test
 script:
  - echo "Test passed"

4 条管道!只需 1 次提交。为什么不只是 1 个管道,因为所有管道都在做完全相同的工作。

【问题讨论】:

阶段:-测试-接受-部署 这是否发生在 gitlab.com 上?每次提交都会发生这种情况? @Danny 是的,对于每个提交。 GitLab.com?还是私有实例?版本,因为这绝对不正确且不可重现 它在 gitlab 上并且可重现,但对我来说仍然没有解决方案:( 【参考方案1】:

我在我的本地 GitLab 服务器 (12.7.5) 上看到了同样的问题。我的问题是我的某个阶段的跑步者标签无效(过时)。

仔细检查您是否有一个可以与该项目和“测试”标签一起工作的跑步者。

【讨论】:

【参考方案2】:

分阶段定义1个阶段 并在该阶段定义您的工作,如下所示

stages:
  - test

testdeploy:
  stage: test

【讨论】:

这个我也试过了,又试了一次,问题依旧。 你能分享整个 yml 吗?我去看看 Pastebin 已过期。但是,是的,你混合了标签和阶段。标签用于识别跑步者,阶段是放置在管道的阶段。

以上是关于一个提交的多个管道?的主要内容,如果未能解决你的问题,请参考以下文章

redis pipe管道

在多个管道上创建具有多个输入源的单个管道的意义,每个管道都定义了单独的输入源?

获取选择值列表作为隐藏字段中分隔的管道并提交

请检查具有相同名称的管道是不是先前已提交到不同的端点

在 perl 中关闭多个输出管道而不阻塞每个输出管道

多个 scikit 学习管道的奇怪行为