# #gitlab #gitlab-ci
Вопрос:
Я установил локальный gitlab runner для тестирования .gitlab-ci.yml
конфигурации. Конвейер, который я хочу протестировать, состоит из двух заданий
job1 -> job2
job2
использует данные, которые job1
генерируются. job1
выполняется около 10 минут.
Как я могу использовать этот локальный gitlab runner для простого тестирования job2
с выводом из job1
, без запуска job1
каждый раз и ожидания его вывода?
Могу ли я как-то «сохранить» «состояние / изображение» gitlab-runner после того, как я запустил job1
один раз?
Комментарии:
1. github.com/firecow/gitlab-ci-local это инструмент, который я использую локально для тестирования, я могу легко установить переменные среды, чтобы привязать его к моей базе данных, и я могу вызывать задания самостоятельно — я думаю, это стоит упомянуть
Ответ №1:
То, что вы ищете, — это комбинация artifacts
with dependencies
.
Например, предположим, что у вас job1
есть вывод в target
каталоге, тогда вы можете определить его следующим образом:
job1:
stage: build
script: ...
artifacts:
paths:
- target/
и использовать его в job2
качестве:
job2:
stage: test
script: ...
dependencies:
- job1
Кроме того, в случае, если вы хотите обратиться к артефактам из задания из совершенно другого проекта или даже загрузить их вручную, вы всегда можете загрузить их с помощью REST API.
Следующий URI загрузит последние артефакты, созданные в результате успешного выполнения задания:
https://gitlab.com/<namespace>/<project>/-/jobs/artifacts/master/download?job=job1
Вы можете найти более artifacts
подробную информацию об dependencies
официальной документации и в ней: