Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,301,203
Community Members
 
Community Events
165
Community Groups

Pipeline Tags globing pattern

Hi all, 

I am currently trying to trigger application deployment on tag. 

Everything is ok when I follow the pattern "foo-*" .

However I'd like to follow semversioning on my app (1.2.3-beta).

So I put the following pattern: 

+([0-9]).+([0-9]).+([0-9])-beta*

Doing so, the trigger does not work. 

Am I missing something. 

Does the pattern matching depends on the image we specify in the yml ?

Here is the complete section of the yml. 

tags:  # {staging, stable, prod} environments deployment are triggered on tag only
    +([0-9]).+([0-9]).+([0-9])-beta*:
      - step:
          script:
          - mvn -B -s settings.xml clean install -P staging
          - cd endpoints-api
          - echo ${GOOGLE_CLIENT_SECRET} > client-secret.json
          - gcloud auth activate-service-account --key-file client-secret.json
          - version=$(echo ${BITBUCKET_TAG} | tr . -)
          - mvn -B -s ../settings.xml appengine:deploy -Dapp.deploy.version=$version -P staging
    +([0-9]).+([0-9]).+([0-9])-rc*:
      - step:
          script:
          - mvn -B -s settings.xml clean install -P prod
          - cd endpoints-api
          - echo ${GOOGLE_CLIENT_SECRET} > client-secret.json
          - gcloud auth activate-service-account --key-file client-secret.json
          - version=$(echo ${BITBUCKET_TAG} | tr . -)
          - mvn -B -s ../settings.xml appengine:deploy -Dapp.deploy.version=$version -P prod -Dservice_name=stable -Dtemplate_file_id=1Kiv3stWFWsoCBnRFWfIfZ2VUNTk__12n9vevQF4AtPk
    +([0-9]).+([0-9]).+([0-9]):
      - step:
          script:
          - mvn -B -s settings.xml clean install -P prod
          - cd endpoints-api
          - echo ${GOOGLE_CLIENT_SECRET} > client-secret.json
          - gcloud auth activate-service-account --key-file client-secret.json
          - version=$(echo ${BITBUCKET_TAG} | tr . -)
          - mvn -B -s ../settings.xml appengine:deploy -Dapp.deploy.version=$version -P prod

Note, I replace the . by - because the version name cannot contain '.' in google appengine app. 

 

Thx for your help.

1 answer

1 accepted

1 vote
Answer accepted

There's no regex support for tags/branches, it's all simple globs - see https://confluence.atlassian.com/bitbucket/configure-bitbucket-pipelines-yml-792298910.html#Configurebitbucket-pipelines.yml-globbing_patternsGlobpatternscheatsheet for examples.

 

what would happen if you followed the patterns?:

*-beta*:

*-rc*:

default:

It's what iI finally did.

Examples are good but how about the spec? Does it support "?", "extglob" patterns as  bash does?

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

Git push size limits are coming to Bitbucket Cloud starting April 4th, 2022

Beginning on April 4th, we will be implementing push limits. This means that your push cannot be completed if it is over 3.5 GB. If you do attempt to complete a push that is over 3.5 GB, it will fail...

2,265 views 2 9
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you