Моя команда давно начала использовать весенние облачные проекты, и у нас есть большое количество микросервисов с рабочей конфигурацией CI.Но после обновления до родительского облака наши сборки начали давать сбой.
Для настройки наших микросервисов у нас есть внутренний родительский узел с некоторыми конфигурациями по умолчанию, зависимостями и плагинами.Этот родительский элемент использовал spring-boot-starter-parent
:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/>
</parent>
И для spring-cloud
была определена зависимость спецификации Spring-Cloud:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
</dependency>
Мы решили использовать spring-cloud-starter-parent
для облегчения управления версиями некоторых зависимостей.Теперь мы обновили наш собственный родительский объект, чтобы использовать его:
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Greenwich.RELEASE</version>
<relativePath/>
</parent>
Теперь наш процесс выпуска получает странные ошибки.Например, для одного проекта (простого) у нас настроен этот CI (для GitLab):
image: maven:3-jdk-8
variables:
MAVEN_CLI_OPTS: "-s settings.xml --batch-mode --errors --show-version"
cache:
paths:
- .m2/repository
deploy:
stage: deploy
script:
- git config --global user.name "Gitlab CI"
- git config --global user.email "gitlab@email"
- git checkout -B "$CI_BUILD_REF_NAME"
- mvn $MAVEN_CLI_OPTS clean versions:use-releases release:prepare -Dusername=$USERNAME -Dpassword=$USER_TOKEN
- mvn $MAVEN_CLI_OPTS -Darguments="-Dmaven.test.skip=true" clean release:perform -Dusername=$USERNAME -Dpassword=$USER_TOKEN
- mvn $MAVEN_CLI_OPTS build-helper:remove-project-artifact
Мы используем эту конфигурацию maven-release-plugin
:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<tagBase>${git-link}/tags</tagBase>
</configuration>
</plugin>
После запускаконвейер CI, наша сборка завершилась с этой ошибкой:
149809 [INFO] 144003 [INFO] --- maven-site-plugin:3.7.1:deploy (default-deploy) @ service-utilities-parent ---
149820 [INFO] 144014 [ERROR]
149820 [INFO] Unsupported protocol: 'scp' for site deployment to distributionManagement.site.url=scp://static.springframework.org/var/www/domains/springframework.org/static/htdocs/spring-cloud/docs/spring-cloud-starter-parent/Greenwich.RELEASE.
149821 [INFO] Currently supported protocols are: http, https, file.
149821 [INFO] Protocols may be added through wagon providers.
149821 [INFO] For more information, see http://maven.apache.org/plugins/maven-site-plugin/examples/adding-deploy-protocol.html
Я действительно понятия не имею, что происходит, так как я не определил maven-site-plugin
, а spring-cloud-starter-parent
должен объявлять плагины только для pluginsManagement
раздел.
Я буду очень рад, если кто-нибудь сможет объяснить мне, чего я не вижу.
Спасибо.