1

我在管道中有 3 个阶段,所有 3 个阶段中的每个作业都在创建一个 xml 数据文件。这些作业并行运行。

在此处输入图像描述

我想在第 4 阶段合并所有 xml 数据文件。下面是我的 yml 代码

stages:
  - deploy
  - test
  - execute
  - artifact
script:
   - XYZ
artifacts:
  name: datafile.xml
paths:
  - data/

问题:我如何从以前的工作中收集所有 xml 来合并它?文件名是唯一的。

4

1 回答 1

2

这是一个.gitlab-ci.yml将工件收集到最终工件中的文件(获取早期阶段生成的文件,并将它们放在一起)。

关键是需求属性,它从早期作业中获取工件(带有artifacts: true)。

stages:
  - stage_one
  - stage_two
  - generate_content

apple:
  stage: stage_one
  script: echo apple > apple.txt
  artifacts:
    paths:
      - apple.txt


banana:
  stage: stage_two
  script: echo banana > banana.txt
  artifacts:
    paths:
      - banana.txt

put_it_all_together:
  stage: generate_content
  needs:
    - job: apple
      artifacts: true
    - job: banana
      artifacts: true
  script:
    - cat apple.txt banana.txt > fruit.txt
  artifacts:
    paths:
      - fruit.txt
于 2020-04-23T01:03:23.120 回答