Получить артефакты из предыдущих GIT заданий - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть 3 этапа в конвейере, каждое задание на всех 3 этапах создает файлы данных xml. Эти задания, которые выполняются параллельно.

enter image description here

Я хочу объединить все данные xml на 4-м этапе. Ниже мой код yml

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

Проблема: как я могу собрать все xmls из предыдущих заданий, чтобы объединить его? Имена файлов уникальны.

1 Ответ

1 голос
/ 23 апреля 2020

Вот файл .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
...