在 Bitbucket 管道中使用 Maven 发布插件部署非 Jar POM-Only 工件

时间:2021-01-25 19:21:56

标签: maven yaml nexus openapi bitbucket-pipelines

我有一系列 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?如果您需要更多信息,请告诉我。

0 个答案:

没有答案