4

How can I exclude folders or files from being uploaded to the server?

I would like to ignore the "src" folder and package.json.

# -----
image: node:10.15.3

pipelines:
  branches:
    develop:
    - step:
        caches:
        - node
        name: Deploy to develop (Nino) Continuous integration.
        script: # Modify the commands below to build your repository.
          - echo 'Deploying.. hold your horses!'
          - yarn install
          - yarn dev
          - pipe: atlassian/sftp-deploy:0.4.1
            variables:
                USER: $USER
                PASSWORD: $ROOT_PASSWORD
                SERVER: $SERVER
                REMOTE_PATH: /var/www/html/wordpress-starter/
                DEBUG: 'false'
Galanthus
  • 1,958
  • 3
  • 14
  • 35

3 Answers3

2

You could go the other way around and specify the folder(s) you want to include as trigger in each step:

- step:
          name: ...
          image: ...
          script:
              - ...
          condition:
              changesets:
                 includePaths:
                   - "folder1/*"
                   - "folder2/*"

In this example, the step will only run when folder1 or folder2 change. Found it here: https://dev.to/omar16100/trigger-bitbucket-pipeline-only-if-certain-files-are-changed-with-google-cloud-functions-1abc

1

You can try this

EXTRA_ARGS: '--exclude=YOUR_DESIRE_FOLDER_PATH/*'

For more information please have a look at this.

naib khan
  • 928
  • 9
  • 16
1

If you wan't to exclude multiple files or directories, you should consider using the rsync-deploy pipe:

script:
  - pipe: atlassian/rsync-deploy:0.3.2
    variables:
      USER: 'ec2-user'
      SERVER: '127.0.0.1'
      REMOTE_PATH: '/var/www/build/'
      LOCAL_PATH: 'build'
      DEBUG: 'true'
      EXTRA_ARGS: '--exclude=src/* --exclude=package.json'
Alexander Zhukov
  • 4,357
  • 1
  • 20
  • 31