Несколько Путей С Разным Сроком Действия В Бегунах Gitlab-Ci

  • Автор темы Hygwqe
  • Обновлено
  • 17, Oct 2024
  • #1

У меня возникли проблемы с анализом

 caches 
directory between stages using Gitlab-CI.

Gitlab-CI стирает созданные артефакты сборки между этапами, что кажется странным. Я пытаюсь сохранить артефакты сборки между этапом сборки и этапом тестирования, однако на этапе сборки также есть артефакт сборки, который я хочу сохранить, а также артефакты сборки, необходимые для запуска следующего этапа.

Возможно ли иметь несколько сроков действия с разными путями, используя artifacts: paths: - build/*.dmg expire_in: 1 week paths: - build/test1 - build/test2 - build/test3 expire_in: 15 mins option?

Я пробовал следующее, которое сохраняет только второе определение paths (the build/test* paths), and not the first paths (.dmg) объявлено.

artifacts

Я пробовал использовать build however can't seem to get that working... Any suggestions would be great appreciated!

#gitlab

Hygwqe


Рег
16 Sep, 2011

Тем
92

Постов
199

Баллов
699
  • 25, Oct 2024
  • #2

На это уже был дан ответ ТАК используя обходной путь, поскольку согласно документам это кажется невозможным.

В принципе, это можно сделать в 3 этапа.

Этап 1: Стройте и храните все артефакты.

 
 
 
 build:buildjob

paths:

- build/test1

- build/test2

- build/test3

expire_in: 15 mins

test:testjob

paths:

- build/*.dmg

artifacts:

expire_in: 1 week
 

Этап 2.1: Выполните следующий официальный этап задания (т. е. запустите тесты в моем сценарии), используя артефакты. overwrite_artifact_stage: script: - echo 'saving artifact' artifacts: paths: - build/*.dmg expire_in: 1 week and test_stage: script: - test dependencies: - build .

build/test3

Этап 2.2: Работая одновременно с этапом 2.1, вы можете просто иметь пустое задание, но устанавливаете новую дату истечения срока действия артефакта.

build/test1, build/test2 ||answer||

Кажется, вы пытаетесь определить артефакты глобально, но это не будет работать с несколькими путями, поскольку вы перезаписываете определение ключа. Вместо этого вам следует определить пути для каждого задания.

артефакты:

build_stage: script: - build artifacts: paths: - build/*.dmg - build/test1 - build/test2 - build/test3 expire_in: 15 mins
 

QwertEHOK


Рег
20 Jun, 2010

Тем
68

Постов
207

Баллов
597
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно