About Deployments
Buddy supports all popular deployment protocols, custom scripts, and IaaS/PaaS services, including (but not limited to) those listed on the screenshot below.
Image loading...
Here you can find the list of articles with configuration instructions for every service and deployment protocol:
Deploy of repositories and artifacts
Each pipeline has its own filesystem. When the pipeline is run, your repository is cloned to the pipeline filesystem in the selected revision. This way, the actions which build the application have action to the repository files. The built application can then be deployed from the filesystem to the server.
When configuring a deployment action, most actions let you decide if you want to upload only raw repository files, or repository files with processed files, generated artifacts, and static files. In order to upload all files, select Pipeline Filesystem as the source:
Image loading...
Deploy of configuration files
There are some types of files that should not be stored in the repository, but still need to be deployed – for example database configs. In this case, you can upload them manually to the pipeline filesystem in the Filesystem tab of the pipeline.
Click the three dots menu or the "Add file" button and select "Upload files..." to add files, or "Create a new directory..." to create folders. They will be marked as static files and deployed to the server with the rest of the files:
Image loading...
Learn more about managing static files in the pipeline filesystem.
Deploy only changed files
In Buddy, most deployment actions are based on changesets. This means only the files from the current revision are deployed, which drastically reduces the time of upload. This refers to both repository and filesystem deployments.
Deploy from scratch
If you want to deploy all files instead of changed files only, check the Upload everything from scratch option in the OPTIONS section when running the pipeline:
Image loading...
ON RUN section of the pipeline settings.
Deploy to the specified revision
Sometimes you inherit a legacy server with already deployed files on it. If you don't want to upload everything from scratch on the first deployment, you can set the currently deployed revision in the CURRENT COMMIT ON TARGETS section of the Transfer tab:
Image loading...
Ignore files and folders on deployment
At times, you may want to left out some files or folders in your repository, eg. SASS files that are compiled to CSS, or entire directories like node_modules. Use the ignore files and ignore folder options to exclude specific files and folders from deployment. This feature is available at the bottom of the deployment action window in actions such as Transfer, AWS S3, Heroku, Netlify, Google Cloud Storage, Rsync, or other deployment actions:
Image loading...
The ignore functionality consists of two sections. Click the + button next to Ignore files using paths and patterns to expand the input fields for both sections:
- Ignore files using paths and patterns: Enter files and directories to exclude from transfer. See pattern syntax below for supported patterns.
- Exclude from ignore: Define exceptions from the ignore patterns above.
.git directory is ignored by default in deployment actions. If you want to deploy it, add it to the excludes section.
Pattern syntax
Use the following patterns to exclude files and folders from deployment. You can ignore individual files, entire folders, or use wildcards to match multiple files and directories:
| Pattern | Description |
|---|---|
config | All files named 'config' |
*.png | All PNG files |
/config | All files named 'config' located in the ROOT directory |
/config/ | All files in the directory 'config' located in the ROOT directory |
dir/name* | All files starting with 'name' in the 'dir' directory |
/dir/name* | All files starting with 'name' in the 'dir' directory in the ROOT directory |
test* | All files starting with 'test' |
test*/ | All directories starting with 'test' |
/test*/ | All directories starting with 'test' located in the ROOT directory |
Common examples
Here are some typical patterns used in deployments:
node_modules/- Exclude Node.js dependencies folder.env- Exclude environment configuration files*.log- Exclude all log files.DS_Store- Exclude macOS system files
Custom deployment script
If your deployment process requires a custom script, you should commit the script to the repository and run it using a build action in Buddy.
YAML and API
Configure deployments programmatically using YAML or REST API:
- Transfer YAML configuration - Configure file transfers via YAML
- Transfer API - Add transfer actions via REST API
Last modified on Nov 12, 2025