11

So I've got a project with some structure. And whenever I push changes to any file pipeline is run. But I want it to run only when there are changes in particular directory. Is it even possible?

hasrthur
  • 1,410
  • 15
  • 31

3 Answers3

21

The JIRA issue that refers to this situation was recently updated with the following solution that can be straightforward applied.

Example from bitbucket blog post:

- step:
          name: build-frontend-artifact
          condition:
              changesets:
                  includePaths:
                    # only xml files directly under resources directory
                    - "src/main/resources/*.xml"
                    # any changes in frontend directory
                    - "src/site/**"
          script:
             - echo "Building frontend artifact"
manasouza
  • 1,189
  • 1
  • 14
  • 26
1

This may help you:

Determine If Any File Changed In Directory For Latest Git Commit

that way if there are no changes in your directory you could finish the build early.

Laures
  • 5,389
  • 11
  • 50
  • 76
-1

Check this Documentation

https://bitbucket.org/blog/conditional-steps-and-improvements-to-logs-in-bitbucket-pipelines

- step:
      name: build-frontend-artifact
      condition:
          changesets:
              includePaths:
                # only xml files directly under resources directory
                - "src/main/resources/*.xml"
                # any changes in frontend directory
                - "src/site/**"
      script:
         - echo "Building frontend artifact"
Mithun Biswas
  • 1,617
  • 1
  • 12
  • 19