Простой композитор кеширует сбои с помощью конвейеров bitbucket - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь изучить конвейеры, и я построил 2 простых шага.
1. Настройка компоновщика и его кеширование
2. Сборка и тестирование

Обратите внимание, что я 'm создание подпапки

Я не получаю ошибки, но это не удается.Вот что говорит об этом сборка:

Searching for test report files in directories named [test-results, failsafe-reports, test-reports, surefire-reports] down to a depth of 4
Finished scanning for test reports. Found 0 test report files.
Merged test suites, total number tests is 0, with 0 failures and 0 errors.



image: 
 name: php:7.1.1
 run-as-user: 1

pipelines:
  default:
    - step:
        name: setup composer
        caches:
          - composer
        script:
          - apt-get update && apt-get install -y unzip
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    - step:
        name: build and test
        caches:
           - composer
        script:
          - composer global require hirak/prestissimo
          - composer install -d cms/content/
          - vendor/bin/phpunit

definitions:
  caches:
    composer: cms/content/

1 Ответ

0 голосов
/ 13 февраля 2019

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

Это будет выглядеть примерно так:

image: 
 name: php:7.1.1
 run-as-user: 1

pipelines:
  default:
    - step:
        name: Build
        caches:
          - composer
        script:
          - apt-get update && apt-get install -y unzip
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - composer global require hirak/prestissimo
          - composer install -d cms/content/
        artifacts:
          - cms/content/vendor/**
    - step:
        name: Test
        script:
          - vendor/bin/phpunit

definitions:
  caches:
    composer: cms/content/

ПРИМЕЧАНИЕ: я также думаю, что ваш vendor/bin/phpunit должен быть cms/content/vendor/bin/phpunit

...