gitlab ci: передавать артефакты из двух заданий одного уровня - PullRequest
1 голос
/ 29 марта 2020

Наличие нескольких заданий (не параллельно), и я пытаюсь передать артефакты с первого задания на второе.

Вот как это выглядит:

    deploy-build-docker 1/2:
      stage: deploy
      image: docker:stable
      script:
      - ...
      artifacts:
        paths:
        - path

    deploy-preprod 2/2:
      stage: deploy
      image: alpine
      dependencies: [deploy-build-docker]
      script:
      -  ....

CI не может найти зависимости и выдает мне эту ошибку deploy-preprod 2/2 job: undefined dependency: deploy-build-docker

Я также пытался deploy, deploy-build-docker 1/2, но у меня все еще есть та же проблема.

Так как я могу это сделать? который? Должен ли я сделать сборку на другом этапе?

1 Ответ

0 голосов
/ 29 марта 2020

Да, вы можете передавать артефакты только из предыдущих этапов.

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

Чтобы использовать эту функцию, определите зависимости в контексте задания и передайте список всех предыдущих заданий, из которых должны быть загружены артефакты. Вы можете определять задания только из этапов, которые выполняются до текущего. Ошибка будет отображаться, если вы определяете задания из текущего этапа или следующих.

https://docs.gitlab.com/ee/ci/yaml/#dependencies

Хотя они могут добавить поддержку needs: в будущем для задания рабочих мест на этапе текущий : https://gitlab.com/gitlab-org/gitlab/issues/30632

...