首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建和扩展可重用的gitlab管道?

如何创建和扩展可重用的gitlab管道?
EN

Stack Overflow用户
提问于 2022-04-22 16:37:03
回答 1查看 103关注 0票数 0

我有一条管道如下:

代码语言:javascript
复制
include:
  - project: "some-project"
    ref: 0.5.0
    file: reusable-jobs.yml

variables:
  VAR1: ""

stages:
  - stage-1
  - stage-2

job1:
  extends: .reusable-job-1
  stage: stage-1
  variables:
    SOME_VAR: "$VAR1"

job2:
  extends: .reusable-job-2
  stage: stage-2
  variables:
    SOME_VAR: "$VAR1"

我希望能够保存这个导入到其他项目中。用我的可重用的工作,我创造了这样一个

代码语言:javascript
复制
.some-reusable-job:
  image:
    name: alpine
  script:
    - echo "hello"

当我想使用它的时候,我扩展了它

例:

代码语言:javascript
复制
reuse_the_job:
  extends: .some-reusable-job
  stage: some-stage

但我不知道如何处理整个管道,包括各个阶段。

我希望能够像这样调用管道:

代码语言:javascript
复制
reuse_the_pipeline:
  extends: .my-reusable-pipeline
  variables:
    VAR1: "hello"

并使用stage_1和stage_2创建管道。

我试图在reusable-flow-file.yml中创建这样的定义

代码语言:javascript
复制
.reusable-flow
    include:
      - project: "some-project"
        ref: 0.5.0
        file: reusable-jobs.yml
    
    variables:
      VAR1: ""
    
    stages:
      - stage-1
      - stage-2
    
    job1:
      extends: .reusable-job-1
      stage: stage-1
      variables:
        SOME_VAR: "$VAR1"
    
    job2:
      extends: .reusable-job-2
      stage: stage-2
      variables:
        SOME_VAR: "$VAR1"

然后像这样使用它(..gitlab ci.yml)

代码语言:javascript
复制
include:
  - local: "reusable-flow-file.yml"


dev_na:
  extends: .reusable-flow
  variables:
    VAR1: "hello"

但是当我试图运行它并得到实验室时,我会得到这个错误。

配置应该实现脚本:或触发器:关键字

不太确定那是怎么做的

EN

回答 1

Stack Overflow用户

发布于 2022-04-24 00:28:09

这是因为您在任务级别上扩展了“.重用流”。您实际得到的是(以下内容)无效的,因为作业dev_na没有script属性。

代码语言:javascript
复制
dev_na:
    include:
      - project: "some-project"
        ref: 0.5.0
        file: reusable-jobs.yml
    
    variables:
      VAR1: ""
    
    stages:
      - stage-1
      - stage-2
    
    job1:
      extends: .reusable-job-1
      stage: stage-1
      variables:
        SOME_VAR: "$VAR1"
    
    job2:
      extends: .reusable-job-2
      stage: stage-2
      variables:
        SOME_VAR: "$VAR1"
    variables:
      VAR1: "hello"

您应该在模板的根级定义作业(和其他东西)。并在Project > CI/CD >编辑器中播放一些内容,您可以在其中获得模板配置的生命预览。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71972033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档