我的团队很久以前就开始使用Spring Cloud项目,我们拥有大量具有可配置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 BOM依赖项:
<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
部分声明插件。
如果有人可以向我解释我没看到的内容,我将非常高兴。
谢谢。