Ошибка в процессе выпуска Maven после обновления до родительского облака - PullRequest
2 голосов
/ 30 мая 2019

Моя команда давно начала использовать весенние облачные проекты, и у нас есть большое количество микросервисов с рабочей конфигурацией 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 раздел.

Я буду очень рад, если кто-нибудь сможет объяснить мне, чего я не вижу.

Спасибо.

...