Advanced settings

The Settings tab also will reveal a couple of advanced features that will let you fine-tune your pipeline.

Resources

This option lets you optimize the efficiency of your processes by assigning the resources on the basis of the tasks the pipeline performs:

Image loading...Setting resources in pipelineSetting resources in pipeline

Priority

Priority determines how soon a queued pipeline will be triggered. For instance, if there are 4 pipelines in the queue, and you assign High priority to the last one, it will move up the line and be executed once the ongoing execution is completed:

Image loading...Setting priority in pipelineSetting priority in pipeline

Tip
The option is useful, e.g. when you have a backup project and a production project running simultaneously. In such cases, it is preferable for the backup project to complete before initiating the deployment to production.

Force deploy from scratch

Most of the deployment actions are based on changesets, which means only the files from the latest revision are deployed. Checking 'Force deploy from scratch' will force Buddy to deploy all files from the repository on every execution. If the option is selected, the changeset trigger conditions added in the pipeline won't be taken into account.

Clear cache before execution

The cache stores a clone of the repository and dependencies required by your build, which massively reduces build times. In some cases, however, you may need to fetch the dependencies on every build execution. To do that, select the option 'Erase filesystem, Docker layers & cached container paths on run'. It will force Buddy to download the packages every time the pipeline is run. If the option is selected, the changeset trigger conditions added in the pipeline won't be taken into account.

Skip queued runs for same Git reference

If a user triggers a pipeline that's already in progress, the execution will be queued and won't start until the first one is over. If there are more executions queued (for example 5) and you check 'New run for same Git reference terminates runs in progress', Buddy will only run the newest execution (5th) and skip the rest (2-4).

Image loading...Runtime configurationRuntime configuration

Terminate runs in progress for same Git reference

If a user triggers a pipeline that's already in progress, the ongoing execution will be terminated and replaced with the new one.

Execute pipeline runs concurrently

Selecting the option lets you trigger multiple executions of a single pipeline simultaneously. This feature is useful if you want to test every single commit or test multiple branches at the same time.

Hint
The number of concurrent executions/filesystem slots depends on the number of runners available in your plan.

Fetch all refs

When the pipeline is run, Buddy fetches only one Git reference to the pipeline filesystem (branch, tag or pull request). Selecting the 'Fetch all refs' option will force Buddy to fetch all Git references.

Clone depth

The clone depth specifies how many commits should be cloned to the filesystem on the pipeline execution. Creating a shallow clone is useful if your .git/ directory occupies too much space.

Image loading...Clone presetsClone presets

Target URL

The Quick Link puts a label on your pipeline that lets you promptly access the associated website, e.g. to review changes after a deployment.

Image loading...Setting quick linkSetting quick link

Trigger condition

Usually, your application is first built and then deployed to the server. However, not every change in the repository requires a build. In such cases, The Run if tab is the place to go to define certain conditions that will trigger the build.

Image loading...Setting trigger conditionsSetting trigger conditions

Visibility & permissions

The Permissions tab in the pipeline settings allows you to restrict pipeline's visibility and scope of operations to individual users and groups.

Image loading...Permission settingsPermission settings

The permissions can be restricted to the following built-in roles:

  • None (Deny) – the user cannot see the pipeline in the project at all
  • Project role – the permission defined in the role with which the user was assigned to the project (default)
  • View-only – the user can browse the pipeline but cannot run or modify its settings
  • Run-only – the user can run the pipeline, but cannot modify its settings
  • Manage – the user can run and modify the pipeline, just like with the Developer role
Last update:
Sep 23, 2024