Для сохранения данных между pipeline нужно использовать cache.
Например для создания кэша для определенной стадии и определенной ветки, можно использовать вот такой ключ:
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
Тогда при вызове pipeline для
этой ветки в следующий раз на
этой стадии будут получены закэшированные данные.
Документация с бОльшим кол-вом примеров:
https://docs.gitlab.com/ee/ci/caching/index.html
---
Если по каким-то причинам необходимо получить именно артефакт и кэш не подходит - можете попробовать скачивать артефакт по API через curl.
Например, чтобы получить последний артефакт с job "test" из ветки master можно добавить такую строчку:
script:
- 'curl --location --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=test"'
Документация по АПИ артифактов и примеры:
https://docs.gitlab.com/ee/api/job_artifacts.html