【问题标题】:Gitlab CI multi project pipelineGitlab CI 多项目管道
【发布时间】:2022-01-19 23:34:53
【问题描述】:

在 Gitlab 中,我试图从父管道触发子管道。子管道位于子目录下的同一项目中。但是,在合并请求事件时触发时,它会给出错误“无法创建下游管道,此管道没有阶段/作业

文件夹结构:

  • 命名空间/项目/.gitlab-ci.yml(父管道)
  • 命名空间/项目/服务名称/.gitlab-ci.yml(子管道)

父管道:

trigger_servicename:
 stage: triggers  
  rules:        
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"'
      changes: 
        - app-notifier/*      
      when: always  
  trigger:
    include: servicename/.gitlab-ci.yml    
    strategy: depend     

子管道:

image:

    name: registry.gitlab.com/who-docker/aws-cli:latest

    entrypoint: 
      - /usr/bin/env
      - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
stages:  
  -build
build:
  stage: build                 
  script:    
    - echo "run build..."
        
test:
  stage: test                 
  script:             
    - echo "run test...."

【问题讨论】:

    标签: gitlab gitlab-ci gitlab-ci-trigger


    【解决方案1】:

    对于一个包含多个项目的 monorepo,我实际上做了类似的事情:

    nameofjob:
      stage: trigger
      trigger:
        include:
          - artifact: folder/.gitlab-ci.yml
        strategy: depend
    

    对于外部项目 -

    include:
      - project: 'my-group/my-pipeline-library'
        ref: 'main'
        file: '/path/to/child-pipeline.yml'
    

    https://docs.gitlab.com/ee/ci/pipelines/parent_child_pipelines.html

    【讨论】:

      【解决方案2】:

      通常,当没有与子管道中的任何作业匹配的规则时,您将收到错误消息“无法创建下游管道,此管道没有阶段/作业”。来自上游管道的规则将在子管道中继承。

      查看您的示例,规则 if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "dev"' 被继承到子管道。此规则在子管道中不匹配,因为子管道中的 $CI_PIPELINE_SOURCEtrigger,而不是来自上游管道的那个。因此,没有作业可供 gitlab 执行。

      如果你添加

      workflow:
        rules:
          - when: always
      

      对于您的子管道,它将起作用。如果需要,相应地修改规则。

      【讨论】:

        猜你喜欢
        • 2021-10-09
        • 2021-12-21
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        • 1970-01-01
        • 2021-11-05
        • 2016-11-19
        • 2021-01-23
        相关资源
        最近更新 更多