我有一系列 OpenAPI 3 文档(yaml 文件),我想使用 Bitbucket 管道中的 Maven 发布插件为其自动部署和版本控制。这是我们管道中的步骤脚本,它在我们合并到 master
分支时运行(这是我们在所有 Java 项目中使用的脚本,我们知道在那里可以正常工作):
- step: &deployRelease
name: Depoly Release Versions
trigger: manual
script:
- bash scripts/create-settings.sh
- bash scripts/validate-release-config.sh
- mvn -B -s settings.xml deploy
- git config --global user.email "$GIT_USER_EMAIL"
- git config --global user.name "$GIT_USER_NAME"
- mvn -B -DdryRun=true release:prepare
- mvn -B release:clean release:prepare
我们使用 build-helper-maven-plugin
将我们的工件附加到构建,然后使用 maven-antrun-plugin
重命名文件。我们在 POM 文件中的其余插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<file>${project.build.directory}/dictionary-${project.version}.yaml</file>
</configuration>
</plugin>
管道运行时,SNAPSHOT 版本正确部署到 NEXUS Snapshots
存储库,管道成功完成,甚至按预期更新 pom 文件中的版本,但没有任何工件部署到符合预期的 NEXUS Releases
存储库。我确定这只是我在某个地方遗漏的一步(我承认我对 Maven 工具不是很强大)。任何想法如何让 yaml 文件部署到 Releases
?如果您需要更多信息,请告诉我。