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...Buddy deployment actions

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 repository files, or repository files with artifacts and files processed by previous build actions. In order to upload all files, select Pipeline Filesystem as the source:

Image loading...Choosing filesystem source

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. They will be marked as static files and deployed to the server with the rest of the files:

Image loading...Configuration files deployment

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.

Hint
A changeset contains the differences between previous and current revisions (versions) of files in the repository.

Deploy from scratch

If you want to deploy all files instead of changed files only, check the 'Ignore current revision & upload everything from scratch' flag when running the pipeline:

Image loading...Pipeline execution settings

Hint
If you want to deploy the whole repository on every run, check 'Force deploy from scratch' flag in 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 action's Options tab:

Image loading...Deploying to specific revision

Ignore files on deployment

At times, you may want to left out some files in your repository, eg. SASS files that are compiled to CSS. The ignore option is available at the bottom of the deployment action window:

Image loading...Ignore paths section

Warning
For actions using git push as the deployment method (eg. Azure, Heroku, Git Push), file ignore is handled via .gitignore files.
Tip
You can also exclude files from ignore paths, for example if you want to deploy a specific type of files, but only from one directory.

Syntax

PatternActions
configall files named ‘config’
*.pngall PNG files
/configall files named ‘config’ located in the ROOT directory
config/all directories named ‘config’ together with their contents
/config/the directory named ‘config’ located in the ROOT directory together with its contents
dir/name*all files starting with ‘name’ in the ‘dir’ folder
/dir/name*all files starting with ‘name’ in ‘dir’ folder located 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

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.

Hint
If you run deployment using scripts enclosed in your own Docker image, you can use the Run Image action.

Last modified on Sep 23, 2024

Recommended