gitmaven-release-pluginbitbucket-pipelines

Pipeline in loop when using maven-release-plugin


I have a pipeline setup to do a automated release when I commit to a specific branch. The problem is that maven-release-plugin that I use commit its changes to the same repository and branch. This triggers the same pipeline and creates a loop.

How to exclude sertain commits for a specific branch?

- step:
    name: TEST01 - Automatic build and test
    caches:
      - maven
    script:
      # Here I would like to add a check to stop if some criteria is met like commitmessage==[maven-release-plugin] or something similar
      - mvn release:clean release:prepare --batch-mode -f ggw- core/pom.xml -s ggw-core/external/settings-test01.xml
      - mvn release:perform -f ggw-core/pom.xml -s ggw-core/external/settings-test01.xml -X -e

Solution

  • Got the answer from the Atlassian team a quick and to the point answer! :)

    Just add the flag -DscmCommentPrefix="[skip ci]" as shown below and maven-release-plugin will ignore the additional commits.

    - mvn -batch-mode release:prepare -DscmCommentPrefix="[skip ci]" 
    

    For a more complete answer follow the link.

    https://community.atlassian.com/t5/Answers-Developer-Questions/How-can-I-configure-my-pipeline-to-control-versioning/qaq-p/553721#M91377