Deployments
The last step of the Continuous Deployment process is deploying the code to a server. Buddy supports all popular deployment protocols and IaaS/PaaS services, including custom deployment scripts and tools.
Buddy deployment actons
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. During the execution, the repository with a specific revision is cloned to the pipeline filesystem. The pipeline actions that build the application are run in the context of this filesystem.
When configuring a deployment action, Buddy lets 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, choose Pipeline Filesystem as the source:
Choosing a 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 (eg. database configs). In this case, you can upload them to the pipeline filesystem. They will be marked as static files and deployed to the server with the rest of the files.
Configuration files deployment
If you choose the filesystem as the deployment source, then the static files uploaded to the pipeline will be deployed as well.
Deploy only changed files
In day-to-day development, uploading changes to the server on every push is a common practice. The faster the deploy, the more time can be spent on coding. In Buddy, 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 Upload everything from scratch when running a new execution:
Pipeline execution 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 Options:
Deploying to a specified 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 option is available in the dedicated tab of deployment actions:
Ignore paths tab
.gitignore
files)
Syntax
Pattern | Actions |
---|---|
config | all files named ‘config’ |
*.png | all PNG files |
/config | all 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.
See also
Last modified on April 6, 2023