Ответы пользователя по тегу Непрерывная интеграция
  • GITLAB CI: Возможна ли передача артефактов между pipeline?

    zavoloklom
    @zavoloklom
    Fullstack разработчик
    Для сохранения данных между 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
    Ответ написан
    Комментировать
  • Gitlab CI/CD- artifacts. Как получить содержимое подкаталога по относительному пути?

    zavoloklom
    @zavoloklom
    Fullstack разработчик
    Попробуйте самостоятельно запаковать содержимое так как вам надо отдельной командой в пайплайне, а затем добавить его в артифакт.

    В скрипт нужного шага дописать в конец:
    zip -r archive.zip root/*

    Указать сформированный архив как артефакт:
    artifacts: archive.zip
    Ответ написан
    Комментировать