Удаленная загрузка артефакта Spring Cloud Contract конфликтует с локальной, как сделать это временным?

У меня возникла проблема с Spring Cloud Contracts 2.0.0.M6, или я, должно быть, неправильно понимаю, как правильно настроить тесты заглушек.

Я хочу всегда загружать артефакт удаленно, поэтому я установил stubsMode на REMOTE.

Когда я запускаю тест локально, где у меня есть артефакт в моем каталоге .m2, он терпит неудачу. Это нормально, и я могу понять замечания одного из авторов здесь< /а>.

У меня проблема в том, что когда я удаляю локальные банки-заглушки и запускаю тестовый пример, артефакты загружаются и снова помещаются в мой каталог .m2. По сути, это позволяет мне запускать заглушку один раз, а затем она терпит неудачу, потому что у меня есть локальные файлы. Я должен продолжать удалять артефакт из .m2 после каждого запуска теста.

Я работал над этим, настроив:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <systemPropertyVariables>
            <maven.repo.local>
                ${project.build.directory}/repo/${maven.build.timestamp}
            </maven.repo.local>
        </systemPropertyVariables>
    </configuration>
</plugin>

Это означает, что при каждом запуске заглушки он будет проверять и загружать в новый «случайный» каталог /target/repo/<date>.

Каков правильный способ сделать это?


person Stmated    schedule 22.02.2018    source источник


Ответы (1)


Эта проблема может (не всегда происходит) возникать в системах непрерывной интеграции, если у вас есть общий файл .m2. В следующем выпуске (1.2.x и 2.0.0), благодаря закрытию этой проблемы https://github.com/spring-cloud/spring-cloud-contract/issues/545 , вы сможете передать stubrunner.snapshot-check-skip системное свойство или STUBRUNNER_SNAPSHOT_CHECK_SKIP переменную среды или установить свойство плагина ( только для 2.0.0), чтобы отключить проверку.

person Marcin Grzejszczak    schedule 22.02.2018